Rahm climbed up nine places to finish Saturday a stroke clear at the top of the leaderboard on 15 under, which included an eagle on the 11th – and could have been better but for an earlier bogey at the sixth.
— THE PLAYERS (@THEPLAYERSChamp) March 16, 2019
McIlroy, meanwhile, signed for a 70 after a slow start saw him drop shots on the opening two holes. He also found the water at the 16th but recovered to save par.
"To turn under par was a good effort after two early bogeys," the four-time major winner told American broadcaster NBC Sports.
"Once I got back to level par I felt like I had settled in to the round."
McIlroy, who headed back out to the driving range, added: "I just need to hit fairways and greens. It's all cliche.
"One shot at a time and all that and hopefully I can turn tomorrow into the best Sunday of the year so far for me."
Fleetwood also carded a third-round two-under-par 70 after battling back from a terrible start.
The Englishman – who led last week's Arnold Palmer Invitational before eventually finishing tied for third – suffered a double-bogey six on the first hole and was three over for his round after taking five at both the fourth and seventh.
However, four birdies on the back nine salvaged his round to leave him very much in contention on Sunday.
"I just kept going. I hit some dreadful shots early on and made an absolute hash of the first hole after a good tee shot. That was followed by poor shots on four and into six and seven," Fleetwood said on Sky Sports.
"It was a real test of grit and mental strength. I got it round and did some really good stuff on the back nine. I'm really pleased with how it finished."
Australian Jason Day is in fourth place at 12 under following his 68, which also opened with a dropped shot at the first hole.
Mexico's Abraham Ancer sits fifth, a further stroke back after a third-round 70, dropping two shots just before the turn only to recover with three straight birdies.
Earlier, American pair Ollie Schniederjans and Brandt Snedeker put themselves in contention as they both fired rounds of 65 to move into a group of six players at 10 under par, which also includes Keegan Bradley, Dustin Johnson and former Ryder Cup captain Jim Furyk.
Schniederjans hit six birdies and an eagle, with a solitary bogey, while Snedeker carded a blemish-free seven birdies as they took the clubhouse lead.
England's Justin Rose is tied for 16th at eight under following his third-round 68, finishing with three successive birdies.
A three-over 75 from Ian Poulter saw him finish at six under and drop down the field having been third overnight.
Tiger Woods, meanwhile, slipped out of contention after a poor start.
The former world number one was nine off the lead overnight, which could have been better but for a quadruple-bogey at the 17th.
However, Woods signed for a 72 to sit at three under overall, with three bogeys on the front nine proving costly.
The American said: "I fought hard on the back nine and I just wish I had been able to put that same score on the front nine, then I would have got myself near that lead.
"A few guys are taking advantage of it, so it's definitely gettable, it's definitely doable. I just struggled with the green speeds being so much slower."