Detroit's Justin Verlander will start for the American League in Tuesday night's All-Star game against San Francisco's Matt Cain.