We know that an absolutely pinned piece (a piece pinned against its own king) can move and give a check, and the check can even be a mate.

The following is an example of such a checkmate.

[FEN "8/8/2k5/8/4p2b/r7/3RKPBr/q7 w - - 0 1"]

1. f4 exf3#

Source: A. Skodras, Quora

I am interested in knowing whether this has ever occurred in a master game; say, both opponents are rated 2000+ and the game was competitive (e.g. in a tournament).

Note: To be clear, I would like to exclude the case of a pinned piece capturing the pinning piece and checkmating the opponent king at the same time (unless it is still in absolute pin). Thanks to Evargalo for pointing this out.

I suppose this happening in a game would be rare, let alone in a master game. But, the first impression (I had) that "moving a pinned piece and giving check cannont be a good move" is wrong.

[Title "Schatz vs. Giegold, Hof (1928)"]
[FEN "7k/pb5q/1p3p2/2p1p1p1/6P1/QP4KR/P4PP1/1B5r b - - 0 1"]

1... Qh4+

Source: Martin Weteschnik, Understanding Chess Tactics (btw, this is one of the best books on how tactics work).

Here, the move 1... Qh4+ is the best move (along with 1... Rxh3+ which is a slightly slower mate).


CQL may be the best solution for questions of this type. One way I can think of to form a CQL query is the following (and its flipcolor variant):

  1. white gives check (and mates black) in the current position,
  2. the piece last moved is X,
  3. if piece X is removed from the previous position, then white is in check.

I don't know how (or whether) step 3 can be expressed in CQL.

  • 1
    You can use the filter pin to identify pinned pieces.
    – kamekura
    May 3, 2021 at 16:56
  • @kamekura Thanks. Is there a way to identify absolute pin? May 3, 2021 at 17:21
  • 1
    In CQL, the value of pin is the set of squares on which there is a piece pinned against its own king by a piece of the opposing color. I.e. "pin" means absolute pin.
    – kamekura
    May 3, 2021 at 18:31
  • 1
    Terminological nitpick: "Absolutely" pinned means, well, absolutely. (At least in German, where the three kinds of pin are clearly distinguished: "echt", "halbecht", "unecht".) In problemists terms, you describe a "Pelle move" (a move along the pin line, which includes the very special en passant case). May 4, 2021 at 7:37
  • 1
    @Evargalo Sure. I shall add a clarification note. Thanks. Jan 5, 2022 at 1:40

1 Answer 1


I used this CQL query to find such positions:

cql(input Mega_Database_2022.pgn)

flipcolor {
    pinningPieces = pin from A
    pinnedPieces = pin through a

    line --> pin from A
         --> {
                 pin from A == pinningPieces
                 pin through a != pinnedPieces
  • flipcolor: check if a position meets the criteria for the given colours, then reverse them.
  • pin from A: a white piece (A) pins the black king. from is the first argument, therefore the squares of the pinning pieces are returned. These shouldn't change - they aren't moved.
  • pin through a: a black piece (a) is pinned against its own king. through is the first argument, therefore the squares of the pinned pieces are returned. These should change - one moved to mate the other side.
  • wtm mate: white has been mated.
  • line --> a --> b: the current position should match filter a and the position after the next move should math filter b.

Running the script against Mega Database 2022 only returns 9 (!) games. All follow the same pattern: a pawn is "pinned" by a major piece and moves to give checkmate.

Only 2 are master games:

  1. Rocha, Wellington Carlos vs. Braga, Cicero Nogueira at the Paulisto Championship (1999):

    [FEN ""]
    [Event "Paulisto-ch final"]
    [Site "Americana"]
    [Date "1999"]
    [Round "5"]
    [White "Rocha, Wellington Carlos"]
    [Black "Braga, Cicero Nogueira"]
    [Result "1-0"]
    [ECO "B23"]
    [WhiteElo "2361"]
    [BlackElo "2405"]
    [PlyCount "81"]
    [StartPly "80"]
    1. e4 c5 2. Nc3 Nc6 3. f4 g6 4. Nf3 Bg7 5. Bc4 e6 6. O-O Nge7
    7. d3 d5 8. Bb3 O-O 9. Qe1 Na5 10. exd5 Nxb3 11. axb3 exd5 12. Qf2 d4
    13. Ne4 b6 14. Bd2 Nd5 15. Rfe1 h6 16. Ne5 Kh7 17. Qf3 f5 18. Nf2 Bb7
    19. c4 dxc3 20. bxc3 Qc7 21. Qg3 Ne7 22. h4 Bf6 23. Nh3 Rg8 24. Re2 Rg7
    25. Rae1 Rd8 26.Nf2 Ba8 27. Nf3 Nd5 28. Ng5+ hxg5 29. hxg5 Be7 30. c4 Nb4
    31. Bc3 Rd4 32. Bxd4 cxd4 33. Qh3+ Kg8 34. g4 Qb7 35. gxf5 gxf5 36. Ne4 Nxd3
    37. Nf6+ Bxf6 38. Re8+ Kf7 39. Qh5+ Rg6 40. Qh7+ Rg7 41. g6# 1-0
  2. Petrosyan, Manuel vs. Vachier Lagrave, Maxime at a Titled Tuesday blitz on chess.com (2020)

    [FEN ""]
    [Event "Titled Tuesday intern op 9th June"]
    [Site "Chess.com INT"]
    [Date "2020.06.09"]
    [Round "4"]
    [White "Petrosyan, Manuel"]
    [Black "Vachier Lagrave, Maxime"]
    [Result "0-1"]
    [ECO "D12"]
    [WhiteElo "2607"]
    [BlackElo "2778"]
    [PlyCount "96"]
    [EventDate "2020.06.09"]
    [StartPly "95"]
    1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 5. Nc3 e6 6. Nh4 Be4
    7. f3 Bg6 8. Qb3 Qc7 9. Bd2 Be7 10. Rc1 Nbd7 11. g3 dxc4 12. Bxc4 a6 13. a4
    O-O 14. Nxg6 hxg6 15. O-O b5 16. Be2 Qb6 17. Ne4 Rfc8 18. Rc2 Nxe4 19. fxe4 b4
    20. Rfc1 Qb7 21. e5 c5 22. Kf2 Rab8 23. Bf3 Qa7 24. Qd3 Rd8 25. Qe4 Qb6 26. b3
    a5 27. h4 cxd4 28. exd4 Nf8 29. Be3 Rd7 30. d5 exd5 31. Qxd5 Qd8 32. Qc4 Ne6
    33. Bg4 Rd5 34. Bxe6 fxe6 35. Qg4 Rxe5 36. Bf4 Rf5 37. Qxg6 Qd5 38. Rc8+ Rxc8
    39. Rxc8+ Bf8 40. Kg1 Qxb3 41. Re8 Rf6 42. Qg4 Qb1+ 43. Kh2 Qe4 44. Qg5 b3 45.
    Bd6 Qe2+ 46. Kh3 Qf1+ 47. Kg4 Qf5+ 48. Kh5 g6# 0-1

Reference (from CQL documentation):

Download CQL for Windows and Mac along with some examples from the official website. Email the authors for the Linux distribution.

  • I don't think the Petrosyan - MVL game matches. The white Pg5 is pinned, but it is the Black Pg7 that moves to deliver mate, and that seems to confuse your nice CQL search. +1 anyway, nice cql-fu and the first game is a great discovery !
    – Evargalo
    Jan 4, 2022 at 19:33
  • 1
    @Evargalo no idea what happened, the piece on g5 was a white queen. Jan 5, 2022 at 10:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.