Hairston collected RBI singles in the first and fifth innings and added a solo shot in the third. He scored four times while leading the Padres' 12-hit attack and helping San Diego avoid a three-game sweep at Chase Field.
Chris Denorfia and Adrian Gonzalez each had two hits and a pair of RBI, and Everth Cabrera went 3-for-4 with a run scored as the Padres upped their lead over the Giants in the National League West to two games.
Latos (12-5) won for the first time in three starts. He limited the Diamondbacks to just two hits and four walks. He struck out six.
Arizona starter Joe Saunders (7-11) was pounded for six runs (five earned) on eight hits over six innings.