Halladay was pitching in Miami for the first time since May 29 last year, when he threw his perfect game. Johnson was the losing pitcher that night.
Last night, the winning run reached base on a wide throw by Rollins and scored on a single that Chris Coghlan dropped into centerfield, but the biggest moments of the game came well before the Marlins took the lead in the eighth.
The second inning is one that will stick with the Phillies until the next time they get a shot at Johnson, who rebounded from a shaky start to pitch seven solid innings and lower his ERA to 1.63.
Ryan Howard led off the frame with a opposite-field home run on a 3-1 fastball that clocked in at 94 mph. Three batters later, the bases were loaded, the Phillies had a 1-0 lead, and Johnson still had not recorded an out.
But then the 27-year-old righthander turned to his slider, a wicked pitch that sits from 86 to 90 mph and which he locates with the precision of his four-seamer. Dane Sardinha struck out swinging at one. Halladay struck out looking at one. And then Rollins grounded out on one.
The third inning brought more of the same. Shane Victorino singled up the middle to lead things off, but Placido Polanco flied out on a slider, and Howard followed with a strikeout on an 0-2 pitch. Raul Ibanez singled and Ben Francisco walked, but Pete Orr grounded out on a first-pitch fastball as the Phillies left the bases loaded for the second straight frame.
At the time, you got the feeling that the six stranded runners in those two innings would come back to cost the Phillies. And that premonition proved correct.
"When you've got a guy on the ropes, and we had him second inning, bases loaded, no out, that would have been a good way to blow the game open," Rollins said. "Three-nothing, and the game is wide-open when you've got pitchers like that on the mound. But we didn't take advantage of it right there."
Halladay's only big mistake came in the bottom of the third, when he issued a one-out walk to Johnson, the first time in his career that he had walked an opposing pitcher. He was visibly upset with himself, and the frustration only grew when Coghlan doubled to move Johnson to third; he would score on a sacrifice fly by Emilio Bonifacio.
Halladay, who until last season pitched in the American League, entered the night having faced an opposing pitcher in 87 plate appearances. Last night was just the third time one had scored against him.
From that point on, the game progressed as most people expected, with two of the top pitchers in the National League waiting for the other to blink. The Phillies had runners in scoring position in the sixth and seventh, but Johnson recorded inning-ending strikeouts both times: Halladay swinging 0-2 and Howard looking 2-2.
Halladay, meanwhile, retired 13 consecutive batters until the eighth inning, when Omar Infante sent a sharp ground ball to short. After knocking the ball down and picking it up, Rollins' throw to first pulled a sprawling Howard off the bag. Infante moved to second on a wild pitch - Halladay labeled it a cutter that didn't cut, Sardinha said he probably should have caught it - and later scored from third on Coghlan's one-out single.
"I just pulled it, really," Rollins said. "I maybe held on too long making sure I got a good, firm throw. It wasn't where it was supposed to be . . . You throw it and you start seeing Ryan stretching, and it's like, 'Oh, damn.' "
The Phillies had one last opportunity in the ninth, when John Mayberry Jr. drew a one-out walk off Marlins closer Leo Nunez then moved to second on a groundout by Rollins. But the game ended with Victorino trying in vain to leg out a grounder to second, and the Phillies fell to 23-12, two games ahead of Florida in the NL East.
With 12 games remaining against the Marlins, there's a chance Halladay and Johnson will meet again. Last year, they combined to allow one earned run in 32 innings against each other. Last night, they were each charged with one, with Halladay striking out nine in his major league-leading third complete game and Johnson striking out seven in seven innings.
"Obviously, you know, especially as the game goes, that it's staying close, but I think you really try to do your best to kind of ignore it in a way," said Halladay, who fell to 5-2 but lowered his ERA to 2.05. "You have to pitch the same way. You can't worry about what's going on on the other side and try to change the way you are pitching based on what is going on."
For more Phillies coverage and opinion, read David Murphy's blog, High Cheese, at www.philly.com/HighCheese. Follow him on Twitter at