Lopez's effort of 1m43.500s moved the Argentine triple TC2000 champion half a second clear of Muller shortly after the mid-way mark of the half hour session.
Reigning WTCC champion Muller waited until the final minute before offering a response. The Frenchman's time of 1m43.437s edged out Lopez by 0.063s.
As in Friday's test, Citroen's Elysee model locked out the top-three positions, with practice one pacesetter Sebastien Loeb taking third spot.
Tom Chilton was fastest non-Citroen in fourth. On his maiden outing for ROAL Motorsport, Chilton headed fellow Chevrolet Cruze runners and Campos team-mates Dusan Borkovic and Hugo Valente.
The session was interrupted by a lengthy delay owing to a collision involving Italian former grand prix drivers Gabriele Tarquini and Gianni Morbidelli.
Tarquini's Honda initiated the incident by overshooting the approach to the Turn 4 chicane. Unable to make the turn-in, the 2009 WTCC champion took to the asphalt run-off before slowing to rejoin the track.
Morbidelli appeared to straight-line the chicane, possibly in an attempt to stay in the middle of the road and away from Tarquini, but instead launched his Munnich Motorsport Cruze on kerbing and bounced straight into the stationary Honda.
Tarquini is believed to be ruled out of Saturday's qualifying session owing to accident damage, and his participation in Sunday's races is also in doubt.
Repairs to the kerbing resulted in close to a half-hour delay to the session. At the time of the stoppage, Citroen drivers were already firmly established in the top-three positions. Muller sat quickest on a 1m44.073, 0.664s ahead of Lopez, who was in turn 1.622s ahead of Loeb.
Tarquini was best of the rest in fourth, albeit 3.138s behind Muller. The Italian would slip to an eventual 12th. Fellow former WTCC champion Rob Huff again showed well for Lada, securing seventh fastest time.
Lopez and team-mate Loeb were among several drivers to take to escape roads, and the Turn 4 chicane, before a 180-degree curve onto the back-straight, proved a particular problem location.
Tom Coronel's presence in practice two had been in doubt owing to damage sustained to the Dutch veteran's Cruze in the morning session. The over-run to the session caused by the Tarquini/Morbidelli accident allowed Coronel to squeeze in three laps before the chequered flag.
Pos Driver Team/Car Time Gap
1. Yvan Muller Citroen 1m43.437s
2. Jose Maria Lopez Citroen 1m43.500s +0.063s
3. Sébastien Loeb Citroen 1m44.572s +1.135s
4. Tom Chilton ROAL Chevrolet 1m44.975s +1.538s
5. Dusan Borkovic Campos Chevrolet 1m45.264s +1.827s
6. Hugo Valente Campos Chevrolet 1m45.528s +2.091s
7. Rob Huff Lada 1m45.695s +2.258s
8. Mehdi Bennani Proteam Honda 1m46.154s +2.717s
9. Rene Munnich Munnich Chevrolet 1m46.254s +2.817s
10. Norbert Michelisz Zengo Honda 1m47.030s +3.593s
11. Tiago Monteiro Honda 1m47.173s +3.736s
12. Gabriele Tarquini Honda 1m47.211s +3.774s
13. Mikhail Kozlovskiy Lada 1m47.525s +4.088s
14. James Thompson Lada 1m48.772s +5.335s
15. Franz Engstler Engstler BMW 1m49.802s +6.365s*
16. Petr Fulin Campos SEAT 1m49.971s +6.534s*
17. Pasquale di Sabatino Engstler BMW 1m50.888s +7.451s*
18. John Filippi Campos SEAT 1m54.109s +10.672s*
19. Tom Coronel ROAL Chevrolet 2m02.701s +19.264s
20. Gianni Morbidelli Munnich Chevrolet 2m04.145s +20.708s
Volvo gave the World Touring Car Championship a major boost when it announced it would enter the series, but its ambitions don't stop there. JACK COZENS examines its programme, the S60 and what its arrival means for the WTCC
The 2012 World Touring Car champion says he never had the money to race cars. Yet 2015 is his 11th season in the WTCC. He talks STUART CODLING through his journey from motorsport fan to paid professional - for little more than £100,000