Nolan Reimold's sacrifice fly to the warning track in left field in the third inning brought home Ty Wigginton with the tying run. Wigginton doubled and took third on Jimmy Rollin's error.
Nick Markakis has the Orioles' other hit, a double in the first inning.
The Phillies loaded the bases with two outs in the third, but Millwood wiggled off the hook.
Millwood gave up a leadoff single to Rollins on a fly ball that dropped near the line. Luke Scott ran a long way and still didn't get close to it.
Placido Polanco fouled out to catcher Matt Wieters, who made a nice catch in front of the folding chairs that line part of the padded fence beside the dugout. Chase Utley struck out for the second time, the bat flying out of his hands and sailing over Garrett Atkins' head. Ryan Howard and Jayson Werth walked to load the bases, but Raul Ibanez bounced to second.
Millwood threw 28 pitches, 16 strikes. He's up to 57 pitches.
This is Millwood's longest official outing - we're not counting his five innings in an intrasquad game - and it's the first time an opponent hasn't batted around against him.
Hope I didn't jinx him.
Part 2: Kevin Millwood struck out two batters and walked pitcher Jamie Moyer in a scoreless fourth. Dewayne Wise and Paul Hoover went down swinging. Millwood threw 20 pitches, 13 for strikes. He's thrown 77 pitches, 47 strikes, through four innings.
Cody "Give me back my son!" Ransom has replaced Rollins at shortstop.