Leclerc edged teammate Sebastian Vettel by 0.027s as Valtteri Bottas lapped just over a tenth of a second off the pace in the lead Mercedes.
The session started with a wet track after more overnight rain, and the few cars completing laps did so on intermediate tyres.
There was further disruption at Ferrari, Toro Rosso and Renault, as Vettel suffered sensor issues, Pierre Gasly sat out the start of FP3 with illness, and Renault tried to fix a hydraulic leak on Daniel Ricciardo’s car.
While Vettel and Gasly would eventually join the session, Ricciardo failed to even complete and installation lap – and his teammate Nico Hulkenberg managed just the one – after Renault opted to park both cars because both had suffered “a pollution of one of the cooling systems, which requires careful cleaning not to damage any component”.
Of those that were able to complete some running, Max Verstappen set the early pace on intermediates with a 1m26.118s, four tenths clear of Mercedes’ Lewis Hamilton.
The bulk of the meaningful running came in the final 10 minutes after Kimi Raikkonen’s Alfa Romeo had vaulted up the order by switching to soft tyres.
Several drivers had off-track moments as they battled the low-grip conditions, but by the end of FP3 the leading times were quicker than Friday’s dry FP2.
Mercedes looked as though they would grab the top two places but Bottas and Lewis Hamilton were shuffled back to third and fourth as the Ferraris posted their final times.
Hamilton ended up 0.236s off the pace, ahead of Carlos Sainz, who was within half a second of Leclerc in his McLaren.
Max Verstappen was only sixth in his Red Bull with teammate Alex Albon eighth in a new chassis after his crash on Friday.
Gasly managed to overcome his illness to complete 10 laps and split the Red Bull drivers in seventh in his Toro Rosso.
Both Red Bull drivers were set to improve on their final laps but encountered traffic, with Verstappen – who set the fastest first sector of anyone at the time – bemoaning “unbelievable” driving from an Alfa Romeo and Albon getting baulked by Robert Kubica.
Lando Norris ended the session ninth in the second McLaren, with Racing Point’s home driver Sergio Perez completing the top 10.