The 30-year-old German outpaced his Mercedes team-mate, the newly-crowned three-time world champion Lewis Hamilton, by 0.377 seconds with his final effort in a closely-fought session.
Hamilton had been fastest in the two earlier sessions and led Rosberg before he reacted to take pole again, as he did before last year's showdown race.
Finn Kimi Raikkonen of Ferrari qualified third on the grid for Sunday's race behind the two Mercedes, as they achieved another front row lockout, after his team-mate Sebastian Vettel had failed to progress from Q1.
Russian Daniil Kvyat was ninth for Red Bull and Spaniard Carlos Sainz 10th for Toro Rosso.
Rosberg's joy was clear as he punched the air with delight on his slow-down lap while Hamilton appeared bewildered and slightly crestfallen, his loss of form since winning his third title at last month's United States Grand Prix continuing.
