Sergash: I went through the game with the program Stockfish 7 - 64 bits POPCNT.
The game apparently left the theory with <9.Ne5N>, while at the time the most played move was 9.0-0.
The first imprecision was <12.f4?! Nc6 > Equality can be maintained with 12.Rd1 c4 (or 12...Nc6 13.Nxc6 Qxc6 14.dxc5 bxc5 = with the idea that if 15.Nxd5?! Nxd5 16.Qxd5 Rfd8! 17.Qh5 (not 17.Qxc6?? Rxd1#) Bf6 ) 13.Qf5 =
<13.Rf3?! cxd4! > Gabrielsen is following the wrong plan. 13.g4 with the idea that if 13...Nxe5? 14.dxe5! Nxg4 15.Nxd5
<14...Qxc6?! 15.exd4! > Carlsen missed the intermediate move 14...dxc3! 15.Nxe7+ (or 15.Qxc3 Rac8 16.Nxe7+ Qxe7 17.Qb3 Ne4! with the idea 18.Qxd5?! Rc2 followed with Rfc8) Qxe7 16.Qxc3
<16...Ne4 17.Bf4 > 16...Bb4!
<22...a6?!> 22...h6! 23.Rf3 Rc4 24.Nc3 Qc6 25.Nd1 Rc2 /
<23.Na3?! Qa4! > Strange move. Now Black is winning. The only playable move is 23.Nc3 Nxc3! 24.bxc3 Qa4! 25.Qd2
<25...Nd6? 26.g4! > Oops. 25...b5! 26.b4 h5!
<27.Kf2?! b5! > I suspect Gabrielsen was starting to be short on time. 27.Kg2
<28.Ra1?! b4! / > 28.Rc1! Rxc1 29.Bxc1 Bxd4+ 30.Ke2