Hairston, competing for time in the outfield, went 3 for 4 to up his spring average to .407.
Mets left-hander Oliver Perez entered in the fourth to face lefty hitting Daniel Descalso with two outs and the bases empty. Perez got Descalso to pop out to second baseman Louis Castillo to end the inning.
Eliminated from making the starting rotation, Perez is trying to make the roster as a situational lefty out of the bullpen.
Cardinals starter Jaime Garcia gave up eight runs on nine hits in just four innings, but induced 12 groundballs, of which five went for base hits.