Garcia, who stretched his lead to as many as six shots before thunderstorms halted play for more than three hours, closed with three good pars for a three-under 67. Playing in the group ahead of him, McIlroy finished with two big birdies for a 66 to get into the final group.
That sets up a replay of the British Open two weeks ago, only with the roles reversed.
McIlroy had a six-shot lead going into the final round at Royal Liverpool in Hoylake, England. Garcia, playing in the group ahead, made a spirited run at McIlroy and got within two shots late in the round until he faltered and Boy Wonder pulled away.
This time, it's McIlroy who has to do the chasing.
Garcia was at 14-under 196 as he goes after his first World Golf Championship, and his first win on the PGA Tour in two years.
"Obviously, Rory is playing great, and we get along nicely as of right now," Garcia said. "I think we're both excited about it. We're definitely going to play hard. It will be nice to see if I can do the same thing he did to me a couple of weeks ago. So we'll see."
McIlroy hit a gorgeous drive down the uphill 17th that left him a sand wedge into 12 feet, which he converted for a birdie. He holed a 35-foot birdie putt on the last hole, giving it a little body English as it fell, knowing what it meant.
"My goal today was to try and get in the final group," McIlroy said. "Sergio didn't quite have that luxury of seeing what I was doing on the last. It will be nice to play alongside him tomorrow and at least keep an eye on what's going on. Try to apply a bit of pressure when I can, but just really looking forward to getting in there and having another chance to win a tournament so soon after what happened at Hoylake."
This isn't a two-man race to the $1.4 million prize.
Marc Leishman had a 68 and was five shots behind, while Adam Scott returned from the rain delay carrying only his long putter, the only weapon he needed to convert one last birdie for a 65 that at least left him with a slim chance. He was six shots behind, along with Keegan Bradley (68) and Justin Rose (70).
Bradley has a chance to move into position for a Ryder Cup spot with a good round Sunday. Scott can protect his No. 1 ranking by finishing in the top four, regardless of what McIlroy does.
The race won't feature defending champion Tiger Woods. The eight-time winner at Firestone made only one birdie on Saturday — he failed to birdie a par-five hole for the second straight day — and shot 72. He was 15 shots behind.
PGA Tour rebuts report that Johnson failed drug test
The PGA Tour rebutted a published report Friday that Dustin Johnson has been suspended for failing a drug test.
Johnson said in a vague statement issued Thursday by his management company that he would take a leave of absence effective immediately to seek professional help for "personal challenges." The announcement brought an abrupt end to his PGA Tour season, knocking him out of the PGA Championship and the Ryder Cup.
Golf.com reported Friday that the tour suspended Johnson for six months. It cited an unidentified source as saying Johnson failed a drug test for the third time.
"With regards to media reports that Dustin Johnson has been suspended by the PGA Tour, this is to clarify that Mr. Johnson has taken a voluntary leave of absence and is not under a suspension from the PGA Tour," the tour's statement said.
It was rare for the tour to comment on any matters related to potential discipline. On Thursday, after Johnson announced his leave of absence, the only statement from the tour was that it had "nothing to add" and that it wished him well and looked forward to his return.
The PGA Tour began drug testing in July 2008.