With the wind and rain making it difficult for either team to field a ball in the outfield, the Orioles and Cardinals played to a 6-6 tie in 10 innings.
The Cardinals scored twice in the seventh off Darwin Cubillan to erase the Orioles' 6-4 lead. Kerry Robinson walked to begin the inning, and Ray Lankford and Hector Luna hit back-to-back doubles with one out.
Mike DeJean replaced Cubillan, who was making his second appearance, and retired the last two batters. He pitched 1 2/3 scoreless innings.
Jay Gibbons hit a two-run double in the sixth to give the Orioles (7-13-1) a 5-4 lead.
Larry Bigbie doubled with one out to move them further ahead before the Cardinals rallied.
Rafael Palmeiro and Javy Lopez drove in runs in the first inning against Chris Carpenter, and Palmeiro had an RBI single in the third.
Orioles starter Sidney Ponson was charged with four runs in six innings - two coming on a wind-blown homer by Jim Edmonds in the sixth.
His opposite-field double in the first inning would have been a homer without the gusting winds. He's batting .408.
Fair to wonder if he'll ever be healthy with the Orioles.
Got a late start because of stiffness in his right shoulder. It's much safer in the trainer's room.
Went 0-for-5 atop the order. Only way to do a worse job setting the table is by putting the forks on the right.
Daal will visit Dr. James Andrews on Monday in Birmingham, Ala., for a second opinion on his sore left shoulder. A magnetic resonance imaging test didn't reveal any damage, but Daal is expected to go on the disabled list.
It wasn't easy to judge Sidney Ponson under such adverse conditions, but four runs will irritate anyone. He'll make one more start Tuesday before facing Pedro Martinez on Opening Night. Matt Riley starts today against the Los Angeles Dodgers in Vero Beach. His chances of making the rotation keep getting better.
Exhibition opponent: Los Angeles Dodgers
Site: Holman Stadium, Vero Beach, Fla.
Time: 1:05 p.m.
Radio: WBAL (1090 AM)