LAKE BUENA VISTA, Fla. -- Julio Teheran pitched five no-hit innings, bolstering his bid for the fifth spot in the Braves' starting rotation, as Atlanta beat the Cardinals, 12-3, at Champion Stadium on Tuesday.

Teheran breezed through his outing against a Cardinals lineup admittedly short on regulars. He struck out six and walked two. St. Louis didn't manage a base hit until Adron Chambers singled against reliever Eric O'Flaherty to open the sixth. Teheran threw 64 pitches, 44 of them for strikes.

Freddie Freeman drove in two runs for the Braves, with a sacrifice fly in the third and a single to right in the fifth. B.J. Upton added an RBI as well. The game was close until the Braves erupted for five runs in the bottom of the seventh against Edward Mujica.

Cardinals starter Jake Westbrook was not especially sharp, allowing two runs on three hits over four innings. He walked three and hit a batter, though he did get six ground-ball outs against three in the air.

St. Louis ended a streak of 29 innings without scoring a run when Tony Cruz singled home Oscar Taveras, who had doubled, in the seventh. That blossomed into a three-run rally, but it wasn't enough to keep the Cards from losing their third straight in Grapefruit League play.

The Cardinals attempted to end the streak with a double-steal in the sixth, but came up just short. Daniel Descalso was successful stealing second, but Chambers was barely thrown out at home on the delayed back end of the play.

After the visitors narrowed the gap in the top of the seventh, the Braves restored it -- and then some. Todd Cunningham's leadoff triple ignited a five-run rally that put the game out of reach, and Joey Terdoslavich's two-run double capped the outburst.

The Braves tacked on three more runs in the eighth off Jason Motte.

The game marked the return from World Baseball Classic action for a couple of player. Fernando Salas pitched an inning of scoreless, hitless relief for St. Louis, and Ramiro Pena doubled and walked for Atlanta. Both players were on the Mexican team in the Classic.

Up next: The Braves will begin a two-game series in Jupiter on Wednesday, when they play the Marlins at 7:05 p.m. ET. They will stay in town to play the Cardinals on Thursday afternoon. Kris Medlen is scheduled to complete the first four innings of Wednesday night's game against the Marlins. Because the club will be playing two games at Roger Dean Stadium in less than 24 hours, it is expected to take all of its regular position players on the trip. Wednesday night's game will be broadcast on MLB.TV and Fox Sports South.