With rain falling hard, conditions were treacherously slippery from the start, and standing water caused drivers to make continuous corrections through the steering wheel, even on the straights as they aquaplaned over rivers running across the track.
In the early going, the Lotus machines of James Calado and Esteban Gutierrez swapped fastest times, but points leader Luiz Razia grabbed the top spot with nine minutes remaining in his Arden-run car.
As the rain began to abate, Razia's title rival Davide Valsecchi set the fastest time, only for Razia to wrest it back seconds later.
Cecotto was next to lead the way, as the times began to tumble, followed by Racing Engineering's Leimer, who was 0.96 seconds faster than Ocean's Nigel Melker.
The improvements were halted by red flags, as Cecotto slammed into the tyre wall at Pouhon after running wide onto the kerb through the first left-hander and spinning backwards into the wall at the second element.
Cecotto ended the session third, but his Addax team will have a big job to repair his badly-damaged car in time for qualifying this afternoon.
Razia and Valsecchi, who are seven points apart at the top of the championship, were separated by a tenth of a second in fourth and fifth. Marcus Ericsson was sixth for iSport, ahead of Calado, as Gutierrez fell down the order to 10th.
In such foul weather, incidents were numerous: Jolyon Palmer spun at Les Combes early on, with Stefano Coletti rotating in sympathy seconds later.
Cecotto also spun at Les Combes a lap later, with Calado doing likewise.
Besides Cecotto, Daniel de Jong was the only other casualty of the session, depositing his Rapax car into the barriers at Les Combes.
Session results (time/laps)
1. Fabio Leimer Racing Engineering 2:22.580 / 8
2. Nigel Melker Ocean Racing Technology 2:23.540 / 7
3. Johnny Cecotto Barwa Addax Team 2:23.911 / 8
4. Luiz Razia Arden International 2:24.292 / 10
5. Davide Valsecchi DAMS 2:24.394 / 9
6. Marcus Ericsson iSport International 2:24.665 / 7
7. James Calado Lotus GP 2:25.145 / 8
8. Victor Guerin Ocean Racing Technology 2:25.330 / 7
9. Stefano Coletti Scuderia Coloni 2:25.431 / 8
10. Esteban Gutiérrez Lotus GP 2:25.540 / 8
11. Felipe Nasr DAMS 2:25.957 / 9
12. Julian Leal Trident Racing 2:25.961 / 8
13. Giedo van der Garde Caterham Racing 2:25.969 / 7
14. Rodolfo Gonzalez Caterham Racing 2:26.226 / 6
15. Jolyon Palmer iSport International 2:26.687 / 8
16. Rio Haryanto Carlin 2:26.841 / 8
17. Stéphane Richelmi Trident Racing 2:27.804 / 6
18. Fabio Onidi Scuderia Coloni 2:27.945 / 8
19 Simon Trummer Arden International 2:28.078 / 7
20. Josef Kral Barwa Addax Team 2:28.639 / 7
21. Max Chilton Carlin 2:28.751 / 8
22. Ricardo Teixeira Rapax 2:30.324 / 9
23. Sergio Canamasas Venezuela GP Lazarus 2:30.461 / 7
24. Nathanaël Berthon Racing Engineering 2:31.938 / 7
25. Daniel De Jong Rapax 2:33.864 / 5
26. René Binder Venezuela GP Lazarus 2:34.328 / 7