Franco hit a tiebreaking single in the seventh inning, Galvis was a triple shy of the cycle and the Phillies beat the Pittsburgh Pirates 4-3 on Tuesday night.
"I always enjoy being the guy, whether it's hitting a homer or making a catch," Galvis said.
Galvis homered, doubled and scored the go-ahead run after an infield single and a stolen base. Justin De Fratus (3-1) pitched a scoreless inning for the win. Jonathan Papelbon finished for his 36th save in 39 chances.
The Pirates entered the night with a 1 1/2-game lead over Atlanta and Milwaukee for the second NL wild card. The last-place Phillies have won 10 of 15.
"It was a tight, well-pitched game, but we gifted them a run," Pittsburgh manager Clint Hurdle said.
Galvis led off the seventh with a grounder to deep shortstop for a single off Justin Wilson (3-4). After a pair of strikeouts, Galvis stole second. He scored on Franco's hit to right.
"I just come in, work and try to get better every day," Franco said.
Galvis hit a drive way out to right to tie it at 3 in the fifth.
"He likes to be the guy on the baseball field," manager Ryne Sandberg said. "He has hidden pop and he hits in big moments."
The Pirates lost a run after a video review showed that a fan reached over the fence and touched Starling Marte's drive to left-center in the fifth. Marte was awarded a double instead of a homer and was stranded at third.
Phillies starter David Buchanan helped himself with an RBI single after Galvis hit a double off the right-field wall in the second.
Buchanan allowed three runs -- two earned -- and four hits in six innings.
Pirates starter Edinson Volquez gave up three runs and six hits in six innings.
"I threw 90 pitches. He took me out," said a frustrated Volquez, who actually threw 92 pitches.
Pirates: RHP Charlie Morton threw a simulated game, but it doesn't appear he'll come off the disabled list soon unless the Pirates need a starter. Morton had been pitching with a sports hernia. ... INF Josh Harrison returned to the lineup for the first time in four games. Harrison, who aggravated a left ankle injury Saturday, played 3B and led off.
Phillies: SS Jimmy Rollins sat out after injuring his left hamstring running out a one-out triple on Monday night. Sandberg said Rollins is day to day.
Pirates: Former Phillies right-hander Vance Worley (6-4, 3.05 ERA) takes the mound Wednesday night. In 2011, Worley was 11-3 with a 3.01 ERA and finished third in NL Rookie of the Year voting while helping the Phillies win a fifth straight division title. He was traded to Minnesota in 2012 in a deal for CF Ben Revere.
Phillies: RHP Jerome Williams (3-0, 2.84) makes his sixth start since joining the team last month. He's allowed two runs or less in four of five outings.
Franco robbed Andrew McCutchen of an RBI hit with a diving, backhanded grab on his sharp grounder down the line in the fifth. Franco, a top prospect, has started three straight games. The Phillies have to determine whether Franco or Cody Asche is their third baseman of the future. Franco also can play 1B.
THREE UP, THREE DOWN
Phillies setup man Ken Giles pitched a perfect eighth and has retired 20 straight batters. Giles, who throws a 100 mph fastball, has a 1.13 ERA in 38 appearances. He has 57 strikeouts in 39 2/3 innings.
Marte extended his hitting streak to nine games with his fourth straight multihit game. He is batting .367 with six homers since Aug. 9.