Rosberg knocked Williams driver Valtteri Bottas off top spot after 17 minutes, with Hamilton outpacing him moments later as the Silver Arrows pressed home their advantage.
Rosberg was the first frontunner to take super-softs, but he only improved on his previous best time by nine hundredths of a second, which was still enough to relegate Hamilton to second with just under 40 minutes remaining.
Hamilton’s response was almost immediate as he banged in the best time in all three sectors of the circuit to retake top spot by over half a second.
Although Rosberg subsequently improved again, he ended up 0.175s off his team-mate.
Ferrari had looked set to end the session as the best of the rest, with Kimi Raikkonen shading Fernando Alonso, but Red Bull driver Sebastian Vettel left his super-soft run late.
Vettel jumped to third in the closing stages of the session, 0.455s off the pace, with Raikkonen fourth-fastest, just half a tenth quicker than his team-mate.
The Finn also suffered a spin after losing his Ferrari on the power at the exit of the hairpin while on super-softs, although this was after he had posted his quickest time.
Felipe Massa was sixth fastest ahead of Williams-Mercedes team-mate Valtteri Bottas, who was just over a tenth slower.
Kevin Magnussen and Jenson Button ended up just behind the duo, with the McLaren showing encouraging pace at a track that masks some of the shortcomings of its car.
Tenth-fastest Jean-Eric Vergne, who took to the escape road at the first chicane in the final minute of the session after locking up his brakes, was only a second off the pace, but the Frenchman had almost a 0.5s advantage over Romain Grosjean’s Lotus, which was 11th.
Daniel Ricciardo was only 12th fastest after encountering some gear-change issues during the afternoon, but he was still able to outpace the two Force Indias.
Several drivers had off-track moments, with Kamui Kobayashi, who sat out the morning session to allow Alexander Rossi some mileage, spinning at Turn 2 early on.
Esteban Gutierrez also lost his Sauber at the first chicane early on and spun, while both Grosjean and Adrian Sutil missed the last corner on their first super-soft runs.
Sutil’s off at the last chicane was as a result of encountering a slow-moving Magnussen, with stewards investigating the incident but opting to take no action.
Also among those to cut the final chicane were Kobayashi, Rosberg and Pastor Maldonado.
Daniil Kvyat’s session ended prematurely, the Russian completing only one run of nine laps before returning to the Toro Rosso garage and never re-emerging.
It was also a quiet session for Jules Bianchi, whose Marussia team had replaced a number of components at the rear of the car after he glanced the wall exiting the first chicane this morning. He hit engine problems following the completion of only three slow laps in practice two.
Caterham driver Marcus Ericsson also had a disappointing afternoon, pulling off at the first chicane shortly after the half-hour mark before he had the chance to use the super-soft Pirellis.
|GRAND PRIX DU CANADA Second Practice Results|
|Pos.||Car #||Driver||Best Time||Laps|