The Orioles had drawn into a 6-6 tie with a three-run rally in the seventh against Duke Welker, including Michael Almanzar's two-run homer.
Torrid Russell Martin had helped the Pirates build a 6-3 lead with his fourth homer of the spring, a two-run blow in the second.
Martin connected after Michael Martinez had delivered a two-out single off Baltimore starter Chris Tillman, putting the Bucs up, 4-1.
Since starting the spring 0-for-3, Martin has eight hits in 12 at-bats.
"You always feel pretty good in the spring, but I never had these results," said Martin, who was 6-for-40 last spring, his first with the Pirates, and drove in a total of three runs. He has nine RBIs in six Grapefruit League games. "I just feel a lot more comfortable."
Pittsburgh jumped into a 2-0 lead in the first on Chris Dickerson's run-scoring single and an RBI force-play grounder by Travis Ishikawa. Steve Clevenger halved that deficit with a solo homer in the second off Ray Jackson.
In the fourth, Clevenger singled in front of a two-run homer by Steve Pearce off Vin Mazzaro that made it 4-3. Clint Barmes greeted lefty reliever T.J. McFarland with an RBI single in the fourth for a 5-3 Pirates lead.
Chase d'Arnaud made it 6-3 with a two-out homer in the sixth on an 0-and-2 delivery from righty Brock Huntzinger.
Tillman worked into the fourth inning, allowing five runs on six hits, while striking out four without a walk.
"I'm going based off feel now," Tillman said. "And as long as I feel like I executed the pitch well, physically felt well, that's all that really matters… [my] first-pitch strikes could have been better and two-strike approach."
Up next for Orioles: Miguel Gonzalez will take his scheduled turn after being struck in the left shin in his last spring start. Gonzalez is expected to be part of the Orioles rotation and will be making his second start and third appearance this spring in the 1:05 p.m. ET contest against the Red Sox.