Garcia fired a three-under par 67 Saturday to hold a three-stroke lead over McIlroy after the third round of the World Golf Championships Bridgestone Invitational at Firestone Country Club.
McIlroy won his third major title last month in England but not before Garcia threatened his lead on the back nine in the final round.
Garcia stands on 14-under 196 with McIlroy on 199 after firing a 66 and Australia's Marc Leishman third on 201 after a 68 on Saturday.
"Obviously he's been playing great, so it's going to be tough tomorrow, but I just have to keep doing what I've been doing," Garcia said.
"I feel very, very comfortable throughout the whole week, so hopefully I'll be able to do the same thing just like (McIlroy) did to me in Hoylake. Hopefully keep him just behind me."
England's Justin Rose, Aussie Adam Scott and American Keegan Bradley -- all major winners -- were another stroke adrift.
Defending champion Tiger Woods carded a two-over 72 to fall into a tie for 36th place.
Garcia, still seeking his first major title, birdied three of the first six holes Saturday in the last tuneup for next week's PGA Championship, the final major tournament of the year.
Garcia added a birdie at 11 after dropping his approach two feet from the cup but took his lone bogey of the day at 14 after finding the rough on his approach.
McIlroy also fired three birdies on the front side but found a bunker at the par-3 12th and took a bogey.
He responded by closing with back-to-back birdies to trim Garcia's margin entering the final round.
After his bogey at 14, Garcia had a five shot lead over McIlroy and Leishman and he had parred the 15th when play thunderstorms stopped play for more than three hours.
When play resumed, McIlroy and Leishman each birdied the 17th, and McIlroy also rolled in a 34-footer at 18 to get within three.
Garcia parred his final three holes after the delay.
"I just unfortunately misread a couple putts here and there, and then I hit a couple not so good putts," Garcia said. "The restart was a little tougher.
"I didn't play my best there, but I managed to keep it together. I made three good pars to finish with and tomorrow will be another day."
- McIlroy momentum -
McIlroy was delighted to be in contention in his first start since his Open triumph.
"I came here this week talking about wanting to just keeping the momentum going and not really dwell on the Open too much and keep moving forward and I have done that really well this week," said McIlroy, who could have a chance to overtake Scott atop the world rankings with a win on Sunday.
Woods, meanwhile, was finding little solace in returning to a Firestone course where he has won eight times.
The former world number one, playing just his third event since back surgery in March, hit just six fairways in a round that included one birdie, one bogey and a double bogey.
"If I could just hit the ball a little better," said a frustrated Woods, who was also caught on television cursing at a cameraman who got too close.
"I hit it pretty decent today, which was nice, I just didn't (putt) well at all again. I couldn't get comfortable with my setup and it just kind of worked out that way."