The McLaren junior controlled the race from pole position, clearing off into the distance in the early laps before managing his lead at around five seconds from then on.
Behind him, Nico Muller came home as best of the rest, having taken advantage of an early pitstop to jump Marco Sorensen and Antonio Felix da Costa - both of whom had slightly slow stops.
Sorensen had run second early on, fending off da Costa after the Red Bull junior had got past Muller for third in the early corners.
But the Dane lost out when his team struggled to change the left rear wheel, and he rejoined fifth with Nigel Melker getting past him as well.
Sorensen launched a few attacks on Melker in the closing laps but could not find a way through, while ahead of them Muller had da Costa covered throughout the second stint of the race.
Sixth place went to 2010 champion Mikhail Aleshin, who used a clever strategy to find clear track and climb from 12th on the grid.
While Magnussen's exclusion from race one meant it was impossible for him to seal the title this weekend, a retirement for title rival Stoffel Vandoorne means he carries a 43-point lead to the Barcelona finale with 50 points still available.
Vandoorne had a race to forget, dropping from seventh to ninth at the start and eventually falling out of the points after a couple of offs at the chicane on the backstraight before he brought his troublesome car into the pits to retire.
Race two results:
1. Kevin Magnussen DAMS 47:24.323
2. Nico Muller Draco +5.550s
3. Antonio Felix da Costa Arden Caterham +9.964s
4. Nigel Melker Tech 1 +14.129s
5. Marco Sorensen Lotus +14.544s
6. Mikhail Aleshin Tech 1 +17.813s
7. Arthur Pic AV +23.004s
8. Will Buller Zeta +23.827s
9. Norman Nato DAMS +24.122s
10. Marlon Stockinger Lotus +29.962s
11. Andre Negrao Draco +35.846s
12. Nikolay Martsenko Pons +42.421s
13. Will Stevens P1/Strakka +43.676s
14. Jazeman Jaafar Carlin +44.536s
15. Zoel Amberg Pons +44.702s
16. Matias Laine P1/Strakka +48.679s
17. Lucas Foresti SMP/Comtec +48.807s
18. Carlos Huertas Carlin +50.738s
19. Christopher Zanella ISR +51.406s
20. Pietro Fantin Arden Caterham +52.117s
21. Daniil Move SMP/Comtec +52.665s
22. Oliver Webb Fortec +1m04.611s
- Sports & Recreation
- Motor Racing
- Nico Muller
- Nigel Melker
- Antonio Felix da Costa
- Mikhail Aleshin