PORT CHARLOTTE, Fla. -- Stephen Vogt hit a two-run walk-off home run off Jay Johnson with two outs in the 10th to give the Rays a 3-1 win over the Phillies at Charlotte Sports Park on Friday.
John Lannan, who will be the Phillies' fifth starter, made his fourth start of the spring and pitched well. He threw five scoreless innings, allowing only three baserunners with four strikeouts.
After surrendering a leadoff single in the first to Desmond Jennings, the Phillies left-hander allowed only a walk to Jose Lobaton in the third and a fourth-inning single to Evan Longoria. He threw 70 pitches.
After three shaky spring outings, Matt Moore started for the Rays and cruised through five innings. He allowed an unearned run on three hits and two walks with seven strikeouts.
The Rays got on the board in the seventh on Shelley Duncan's third home run of the spring, a deep shot to left off right-hander Justin De Fratus.
Moore breezed through the first on seven pitches. But the second was a different story.
Ryan Roberts, making his first start at first base for the Rays, fielded Domonic Brown's hot shot to lead off the inning. He hesitated a moment before tossing to Moore covering at first, which allowed Brown to reach with an infield hit.
Moore's throwing error on a pick-off attempt allowed Brown to move to second. After reaching third on a groundout, Brown scored on Carlos Ruiz's lined single to right to give the Phillies a 1-0 lead.
Though the Phillies did not score again in the second, Moore needed 35 pitches to get out of the inning. But the Rays' left-hander managed to right the ship by finishing strong.
After allowing seven earned runs in his first 7 2/3 spring innings, Moore didn't allow an earned run on Friday. He threw 88 pitches, 57 for strikes.
Jamey Wright, Kyle Farnsworth and Joel Peralta each followed with a scoreless inning. Brandon Gomes pitched two perfect innings, striking out the side in the 10th.
Jeremy Horst and Antonio Bastardo each tossed a hitless inning of relief for the Phillies.
Up next: With Opening Day starter Cole Hamels pitching in a Minor League game at the Carpenter Complex, reliever Raul Valdes will get the start Saturday against the Yankees at George M. Steinbrenner Field in Tampa. Game time is 1:05 p.m. ET, and the game can be watched live on MLB.TV.
Bill Chastain is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.