Ellsbury went 3 for 4 with a double and a Boston split squad scored four runs in the eighth inning to slip past St. Louis 8-7 on Tuesday.
Ellsbury also drove in a run, scored a run and stole a base before heading to the clubhouse following a sixth inning strikeout.
"You want it to all come together, so it's nice to put the overall game together," Ellsbury said. "I felt pretty good from Day 1, but you want to see as many pitches as you can and you want to get that timing down."
Two of Ellsbury's hits came off St. Louis starter Jamie Garcia, who looked sloppy at times in his second start of the spring.
Ellsbury appeared to have the Red Sox primed for a big first inning, leading off with an infield single then stealing second base.
Garcia allowed three runs and seven hits and three walks in three innings. Garcia said he felt like he was rushing his delivery.
"Every time I go out here and pitch, I'm thinking about trying to minimize pitches and get them to swing the bat," Garcia said. "I wasn't able to do that today."
Each start by Garcia takes on greater importance after the Cardinals lost Adam Wainwright to season-ending ligament replacement surgery.
Garcia is slated for the No. 2 spot in the rotation.
"It didn't go the way I wanted it to go," said Garcia, who went 13-8 with a 2.70 ERA last season his first full year in the majors. "The only thing I can say is that I feel good healthy."
Trailing 7-4 entering the eighth, Alex Hassan brought the Red Sox back with a two-run double to right center. Three pitches later, Ryan Lavarnway homered to left to give the Red Sox their margin of victory.
After allowing two runs in the first, Boston starter Stolmy Pimentel didn't make it out of the second inning. He retired the first two batters before surrendering back-to-back singles to Matt Carpenter and Ryan Theriot. Tommy Hottovy relieved Pinmentel, and struck out Colby Rasmus to end the threat.
The Cardinals scored five runs in the fifth inning, batting around against Boston reliever Jason Rice. St. Louis led off the inning with four hits, taking a 4-3 lead on Gerald Laird's RBI single through the right side of the infield. The Cardinals added three more runs before Rice got Shane Robinson to hit into a double play.
Carpenter continued a strong spring by going 3 for 3 with an RBI. He also started a double play in the second and made a nifty over-the-shoulder catch of Anderson's foul pop in the third.
Notes: Chris Carpenter was pain free after throwing a side bullpen session on Tuesday morning, but still isn't sure he'll make his scheduled Friday start. The session was his second since Carpenter left his first spring training start with a strained hamstring.