Sorensen and Bird had led the way from the start, when they moved to the front as polesitter Jules Bianchi made a terrible getaway.
Robin Frijns also passed the Frenchman, and the top four pulled away with a fast-starting Antonio Felix da Costa in tow.
Bird got the gap to the leader down to 0.6 seconds, but Sorensen was able to respond every time the gap went below one second to keep a safe cushion.
Bird dropped back from Sorensen towards the end due to a misfire in fifth and sixth gears, and by lap 26 of 27 the gap was over three seconds.
Lotus driver Sorensen suddenly slowed in the first sector however, before pulling off at Luffield with a clear hole in his left rear tyre.
That left Bird to take the win for ISR, while da Costa took second after a dramatic fight with Bianchi and Frijns earlier in the race.
Frijns had been running third, but he slowed with a problem that would eventually cost him nearly two seconds per lap. On lap 12 Bianchi dived down the inside into Copse, but as the two title contenders ran wide da Costa passed them both.
Frijns eventually dropped out of the points, but the late retirements of Sorensen and Mikhail Aleshin promoted the championship leader up to ninth.
Aleshin's retirement elevated a recovering Arthur Pic to fourth, after the Frenchman had dropped to 13th from sixth at the start. Alexander Rossi was another to charge through the pack, taking fifth after starting last.
Race two results (27 laps):
1. Sam Bird ISR 47:16.896
2. Antonio Felix da Costa Arden Caterham + 1.159
3. Jules Bianchi Tech 1 + 1.688
4. Arthur Pic DAMS + 33.243
5. Alexander Rossi Arden Caterham + 35.860
6. Will Stevens Carlin + 39.663
7. Nico Muller Draco + 43.514
8. Nick Yelloly Comtec + 48.083
9. Robin Frijns Fortec + 54.719
10. Vittorio Ghirelli Comtec + 58.774
11. Carlos Huertas Fortec + 58.929
12. Nikolay Martsenko BVM Target + 59.497
13. Jake Rosenzweig ISR + 1:01.640
14. Daniil Move P1 + 1:04.069
15. Kevin Korjus Tech 1 + 1:07.202
16. Andre Negrao Draco + 1:07.638
17. Mikhail Aleshin RFR + 1 lap
18. Lucas Foresti DAMS + 1 lap
Marco Sorensen Lotus 25 laps
Nigel Melker Lotus 19 laps
Daniel Zampieri BVM Target 8 laps
Walter Grubmuller P1 6 laps
Kevin Magnussen Carlin 3 laps
Zoel Amberg Pons 0 laps
Yann Cunha Pons 0 laps
Anton Nebylitskiy RFR 0 laps
- Jules Bianchi
- Robin Frijns