Robinson Cano hit three home runs, breaking loose from a season-long slump in a huge way and leading Jason Vargas and the New York Mets over the San Diego Padres 5-2 on Tuesday.