Hechavarria hit a two-run triple in the second before driving in the run that made it 3-2 on a fielder's choice.
Justin Ruggiano walked and Placido Polanco singled for his third hit in the eighth off Ethan Martin (2-5) before Hechavarria hit a grounder to shortstop Jimmy Rollins, whose throw went wide of catcher Carlos Ruiz allowing Ruggiano to slide in safely.
Steve Cishek pitched the ninth for his 33rd save in 35 chances. It was Cishek's 28th consecutive save setting the team record previously held by Todd Jones in 2005.
Chad Qualls (5-2) got the final out in the eighth to earn the victory.