Puzzle of the week #308

Level: 
5-Queen
Chess Diagram: 

[Event "Puzzle #308"][Date "2017.02.07"][Result "1-0"]1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Nf3 O-O 5. Bg5 c5 6. e3 cxd4 7. exd4 h6 8. Bh4 d5 9. Rc1 dxc4 10. Bxc4 Nc6 11. O-O Be7 12. Re1 b6 13. a3 Bb7 14. Bg3 Rc8 15. Ba2 Bd6 16. d5 Nxd5 17. Nxd5 Bxg3 18. hxg3 exd5 19. Bxd5 Qf6 20. Qa4 Rfd8 21. Rcd1 Rd7 22. Qg4 Rcd8

This is a famous game involving an IQP. Your tasks:
a) Explain what has happened up to here: opening name and plans for both sides
b) Analyse the position and decide who stands better
c) Find the best line you can think of for white to move and win

Total available points for this puzzle is 30. The answers will be published next time together with puzzle #309.

Puzzle #307 solution:
Game Sturua - Kutikov, Erevan Olympiad 1996. Coco's solution was the most complete of them all. Her answers:
a) Black's weakness in the position is the e6 square, which has 3 direct attackers pointing at it. To make matters worse, this square is on the same diagonal as the black king, from a2-g8, and when opened up, can be deadly for the king and later pinned (absolute) knight. Black only has one defender, plus the king, and the queen is not the best piece for defense. Since it is of higher value, it would do better attacking or else it may be shooed away by minor pieces
b) The solution below has added wrong lines with the explanation:

[Event "Puzzle #307"][Date "2017.01.31"][Result "1-0"][SetUp "1"][FEN "2r1r3/p3bk1p/1pnqpppB/3n4/3P2Q1/PB3N2/1P3PPP/3RR1K1 w - - 0 22"]22. Rxe6 (22. Qxe6+? {Benjamin, Uros} 22... Qxe6 23. Rxe6 Kxe6 24. Re1+ Kd6) 22... Qxe6 23. Re1 (23. Ng5+? fxg5 {Cody} 24. Qf3+ Qf5 25. Bxd5+ Kf6 26. Bxc6 Qxf3 27. Bxf3) 23... Qd6 (23... Qxg4 24. Bxd5+ Qe6 25. Bxe6#) 24. Bf4 Qd8 25. Qe6+ Kg7 26. Bxd5 g5 27. Qf7+

Correct solutions:
Coco - 20 points
Uros, Bradley, Cody - 11 points
Jalen - 6 points
Benjamin - 2 points

Standings:
Coco - 35 points
Cody, Bradley - 26 points
Uros - 22 points
Jalen - 20 points
Benjamin - 13 points
Dheera, Deryk - 7 points

Comment: 

IQP