Cardinals reliever Genesis Cabrera drilled Harper with the pitch in the top of the sixth inning. Despite the ball making direct contact with Harper's face, he was able to walk off the field under his own power.
Harper appeared to have some blood on the left side of his nose as he walked to the dugout.
Cabrera then struck the next batter, Didi Gregorius, leading to warnings for both benches. Phillies manager Joe Girardi left the dugout to complain to home plate umpire Chris Segal, who ejected Girardi from the game.
Under MLB rules, Cabrera was required to face one more batter after hitting both Harper and Gregorius before Cardinals manager Mike Shildt was allowed to remove him from the game.
Harper grounded out and struck out in his first two at-bats Wednesday. Gregorius doubled and struck out in his two at-bats.
The Phillies went on to beat the Cardinals 5-3 at Busch Stadium in St. Louis. The teams conclude their four-game series Thursday afternoon.