National League Manager Tony LaRussa, who retired after leading St. Louis to a World Series victory last season, and American League Manager Ron Washington of Texas designated the two right-handers as their starters as they penciled in their starting lineups Monday.
It will be Cain's first all-star start in three appearances. He takes a 9-3 record and 2.62 ERA in 17 starts into the game.
LaRussa picked Cain, who has a perfect game to his credit this season, over New York Mets knuckleballer R.A. Dickey, who is 12-1 with a 2.40 ERA in 17 starts.
Verlander, the reigning AL Cy Young award winner and AL MVP, who missed a slated all-star start last season because of his rotation schedule, is 9-5 with a 2.58 ERA in 18 starts.
Washington's lineup will include the New York Yankees' Derek Jeter, Robinson Cano and Curtis Granderson; the Rangers' Josh Hamilton, Adrian Beltre and Mike Napoli; Toronto's Jose Bautista, Detroit's Prince Fielder, and Boston's David Ortiz.
LaRussa is going with Colorado's Carlos Gonzalez; San Francisco's Melky Cabrera, Buster Posey and Pablo Sandoval; Milwaukee's Ryan Braun; Cincinnati's Joey Votto; St. Louis' Carlos Beltran and Rafael Furcal; and Atlanta's Dan Uggla.
The game's winner will give its league home-field advantage in the World Series this fall.
The National League has won the last two all-star games after losing the previous 13.
Jessica Simpson shares three-way kiss with friends in photo
Teacher apologizes for showing sexual image of herself in class