ChessGoals Caro-Kann Middlegame Course

ChessGoals Caro-Kann Middlegame Course by National Master Matt Jensen and Coach JD Cannon


Plans & Strategy

Pick up the game after the opening to learn how to press advantages and win.

Hand Selected Games

Games that have the best instructive value, show common pitfalls and how to punish them.


Learn when to strike and go for a deadly sacrifice and when to play it slow.

You have your opening lines drilled. Now what?

It’s time to start learning how to handle the middle game. It’s time to start learning how to win.

Studying openings leads you to study associated middlegames. This will give you confidence, an advantage on the clock as well as on the board.

36 Games Analyzed

We analyzed 36 games that result from positions from our Caro-Kann Course.

Each game was hand-selected by NM Matt Jensen to provide maximum instructive value. You’ll learn how to execute your plan, take advantage of mistakes and win the game.

Detailed Annotations

This course clocks in at over 30,000 words of instructive content. You’ll understand every move and the thought process behind why it was made. You’ll have a detailed understanding of the strategic and tactical principles in every position.

What do you get?

You will receive a .pgn file with the entire repertoire. It has over 30,000 words of instruction. You will also get over 9 hours of video. Delivered instantly to your inbox.

You will get lifetime access to our premium Discord server. If you have any questions, a line doesn’t make sense, or you just want to hang out join hundreds of chess improvers in our server. You’ll get clarity in minutes.

Included With Your Course


Videos of Matt and JD covering the 36 games total from our opening repertoire. Over 9 hours of video in total.

PGN File

PGN file of all variations and annotations with instructions on how to view them with chess software and websites.

ChessGoals Discord

Discuss the Caro-Kann Course, study plans, chess improvement, and more. Matt JD and Jesse answer your questions.

Bonus Material

As we add content and bonus material, you will receive lifetime updates!

Sample Game - Chapter 3

Video from Chapter 3, Game 4

PGN File - Chapter 3, Game 4

[Event “Copenhagen CC”]
[Site “Ballerup”]
[Date “2020.07.22”]
[Round “1”]
[White “Rostgaard, Tobias Valentin”]
[Black “Grandelius, Nils”]
[Result “0-1”]
[WhiteElo “2372”]
[BlackElo “2651”]
[UTCDate “2022.01.28”]
[UTCTime “13:57:19”]
[Variant “Standard”]
[ECO “B13”]
[Opening “Caro-Kann Defense: Panov Attack, Modern Defense”]
[Annotator “”]

1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 Nc6 6. Nf3 a6 { [%csl Rd4] } 7. cxd5 Nxd5 8. Bc4 Be6 9. Bb3 Na5 10. Ng5 Qd7 11. Nxe6 Qxe6+ 12. Kf1 Nxb3 13. Qxb3 Rd8 { [%cal Rb3b7] } 14. Nxd5 (14. Qxb7 { Difficult to see why White wouldn’t have gone for this. Its a much better position to try to hold than the one they choose in the game which just gives us the ability to comfortably play against the IQP } 14… Nxc3 15. bxc3 Qc4+ 16. Kg1 Qxc3 17. h4 e6 { We can never take the rook because of a perpetual on c6/c8 but we’d love to play on vs the isolated pawn. } { [%csl Be8][%cal Rc3a1,Bb7c6,Bc6c8,Bc8c6] } 18. Bb2 Qc8 19. Qxc8 Rxc8 { An equal endgame arises, but we do have the target on d4 to play against. } 20. Rh3 Rc2 { [%csl Gh3] } 21. Rb3 { [%cal Rb3b8,Rb3b2] }) 14… Qxd5 15. Qxd5 Rxd5 { This line is very similar to when black takes on b7, but the bishop doesn’t have the same active square and we are already putting nice pressure on d4 and white doesn’t have quite as many options for his rooks. } { [%cal Rd5d4,Bc1b2] } 16. Be3 { [%csl Be3,Bd4,Bf2,Bb2] } 16… e6 { [%csl Bd4] } 17. Rc1 { [%csl Bd4] } 17… Kd7 { There is no need to castle here so placing the king on d7 to prevent Rc7 is an easy decision. } { [%csl Gd3][%cal Gg2g3,Gf1d3,Gh2h4,Ga2a3,Gb2b4,Ge3c1,Gc1e3] } 18. Ke2 (18. Rc2) 18… Bd6 19. Rhd1 h5 { We are gaining space and also hoping to try to induce a second weakness on the kingside to increase winning chances. The d4 weakness alone is not enough. If allowed, we are likely to play h4->43 when we’d have a potential queen sitting on h3. } 20. h3 h4 { h4 seems double-edged as it fixes our pawn on a dark square, but we are going to use our activity against d4 to dynamically defend it. The idea is to fix the pawn on g2 which can no longer move and perhaps later we can attack it with our rooks. } { [%csl Bg2][%cal Rg6g2] } 21. Rc3 Rb5 { [%cal Bb5b2] } 22. Rc2 Rg8 { Strange looking, but we want g5-g4 to open a second front for our rook to attack along. Piling up on the d pawn seems easy, but we will never get enough forces against it. Creating multiple threats gives the opponent more chances to go wrong. } { [%csl Bd4][%cal Rg7g5,Rg5g4,Be3d4,Bd1d4] } 23. Rd3 f6 (23… g5 { Too early; it’s a maneuvering game and we should slowly prod and wait for a mistake. It’s an equal position so there is no direct concrete way to smash through. } 24. f3 f5 { Playing directly for our kingside expansion doesn’t quite yield anything concrete yet. } 25. Rdc3 g4 26. fxg4 fxg4 27. Bf2 gxh3 { [%csl Gc2,Gc3] } 28. gxh3 { [%csl Gh4][%cal Gf2h4] } 28… Rg2 { White’s counterplay vs h5 is probably enough to prevent us from doing any real damage. } { [%csl Rh4] }) 24. a4 { [%cal Gb5d5] } 24… Rc8 { [%cal Gc8c2,Gc2c8,Gb5b2] } (24… Rd5 { Seems natural to keep both sets of rooks on the board but perhaps we allow White to gain some activity against our b7 pawn. } { [%csl Bb7,Rd4] } 25. Rb3 Rb8 26. Rb6 { Black can claim a slight advantage due to the kingside pawn play. }) 25. Kd1 { [%csl Ga4] } (25. Rxc8 { Trading rooks drops a pawn for White. } 25… Rxb2+ 26. Rd2 Rxd2+ 27. Bxd2 Kxc8 { We have fantastic winning chances here. We will bring our king up and create a passed pawn on the queenside and combine threats of promoting with threats on d4. } { [%cal Rb7b5,Rc8c7,Rc7c6] }) 25… Ra5 26. b3 { It was nice to force b3 so that white cannot use that square to attack b7. } { [%csl Bb3][%cal Bd3b3] } 26… Rxc2 27. Kxc2 Rh5 { We are going to plant the other rook on the 8th rank to support our pawn advances. These moves are hard to spot, but it’s a very creative way to play the position. } { [%cal Rh5h8,Rh8b8] } 28. Rc3 Rh8 29. Kd3 b5 { Now we probe on the queenside trying to make another target. White has no active plans and should simply wait. } 30. axb5 axb5 { [%csl Gc3,Gh4][%cal Gc3c8] } 31. Rc1 Ra8 { We are heading for a2 or maybe a3 with nice activity and finally some additional place to pressure. g2 is still a weakness for the future. We’ve been slowly chipping away at the white position. It’s still close to drawn territory, but we have some things to poke at more and more. } { [%csl Bg2][%cal Ra8a2,Ra8a3] } 32. Rc2 (32. Rb1 Kc6 { [%cal Gc6d5] }) 32… Ra3 { [%cal Ga3b3] } 33. Kc3 Ra1 34. Rc1 (34. Kb2 Rg1 35. f3 { It was better to not allow our rook access to the queenside. }) 34… Ra2 35. Rc2 Bb4+ { Excellent! Forcing the king away from the b-pawn will cause white to be very passive with the rook. Keeping rooks active in the endgame is usually the best plan. } 36. Kd3 (36. Kxb4 { White cannot hope to hold the position being an exchange down despite having an active king and a pawn. We will easily collect the pawn and force the bishop away and win the rest of the pawns. } 36… Rxc2 37. Kxb5 Kd6 38. b4 Kd5 39. Kb6 Rb2 40. b5 f5 { Our idea is f4 to distract the bishop away from defending f2 when we’ll win the entire kingside and make it back in time to stop the b-pawn. The g2 and h3 pawns on light squares make them easy targets when White only has a dark-squared bishop. } { [%csl Bf2,Be3][%cal Rf5f4] } 41. Ka6 f4 42. Bxf4 Rxf2 43. Be5 Rxg2 44. b6 Kc6 { [%cal Rg2a2] } 45. Ka5 { We threatened mate! } 45… Rg3 { Not Rb2? as that allows d5. } { [%csl Bb2][%cal Bd4d5,Be5b2] } 46. Bc7 Rxh3 { Our pawns will march and we can have as many queens as we like. }) 36… Ra3 { [%csl Rd4,Rb3,Rg2][%cal Gd7d6,Gd6d5] } 37. Rb2 Ra1 { [%cal Gd7d5] } (37… Kd6 { Improving our king feels more natural. } 38. Ke4 { Trying to keep us out of d5. } { [%csl Bd5][%cal Be4d5,Rd6d5] } 38… Bc3 39. Rb1 b4 40. Bf4+ Kc6 41. g4 hxg3 42. fxg3 Ra2 43. h4 f5+ { White cannot go forward as he will have to hang the bishop to stop mate. } { [%csl Re5][%cal Be4e5,Ra2e2] } 44. Ke3 Kd5 45. Be5 g6 46. Bf6 Rc2 { A high-class waiting move. White is in zugzwang. He can never move the rook because of Rb2 and must stay close enough to d4 to defend with his king but with all our pieces so close we have some mating net ideas. } { [%cal Be3d4,Bb1b3] } 47. Kd3 Rg2 48. Be5 Bxd4 49. Bxd4 Rxg3+ 50. Be3 f4 { We win our bishop back and have too many passed pawns to stop. }) 38. Ke4 f5+ { [%cal Ge4d3] } 39. Kf4 { [%csl Gf5,Ge6] } (39. Ke5 Bd6#) 39… Bc3 { [%cal Gb5b4] } 40. Rc2 b4 { The white king has strayed too far seeking counterplay on the kingside, but now we will win the b pawn having kicked the rook away from defending it, and go for promoting our b pawn. } { [%csl Bb3] } 41. Bd2 Bxd2+ 42. Rxd2 Kd6 { Bringing the king up to keep White out of e5. We are still much better thanks to our active rook and advanced b pawn. } { [%cal Bf4e5,Rd6e5] } 43. d5 { This move is a mistake! } (43. Kg5 { It’s scary for White to abandon the queenside and go for counterplay but this was his only real chance. } 43… Rb1 44. Kxh4 Rxb3 45. Kh5 Kd5 46. Kg6 Rc3 47. Rb2 b3 48. Kxg7 Kxd4 49. h4 Rc7+ 50. Kf6 Kc3 51. Rb1 Kc2 52. Re1 b2 53. f4 Rc6 { White will sac his rook for our b-pawn and it’s suddenly black who is struggling to hold back the white pawns. } 54. h5 Kd3 55. Rb1 Kc2) 43… exd5 44. Kxf5 Rb1 { [%cal Gh4g3] } 45. Rd3 { [%cal Gb1b2] } 45… Kc5 (45… Rb2 { Attacking the queenside is another way to go. } 46. Rf3 Kc5 { The only real way to defend the pawns clears a better path for our king. } 47. Kg6 d4 48. Kxg7 Kd5 49. Kh6 Ke4 { The d pawn will queen. } { [%cal Rd4d1] }) 46. Kf4 (46. Ke5) 46… Rb2 47. Kf3 d4 48. g3 hxg3 49. fxg3 Kd5 { We plan to get the rook to c3 but we play kd5 first to keep the white king away. } { [%cal Rb2c2,Rc2c3] } 50. h4 Rc2 51. Kf4 Rc3 52. Rf3 d3 { 0-1 White resigns. } { White resigns as we will queen our d-pawn. It’s interesting to note that it was constant threats against the b-pawn that forced the white rook into passivity and allowed up to eventually drive forward with our second central pawn. } { [%cal Rd3d1] } 0-1