Seven minute game
Opening: "French: Tarrasch, Closed Variation"
Before launching my very aggressive attack, I thought I had carefully considered it and deemed it safe. Obviously, I was wrong and failed to see White's mating counter-attack. Analyzing this game afterwards, I realized what I did wrong.
18...Qxa1 was a major blunder, that much is certain. But what about the move before that?
17...Rxf1+ helped White because the Queen would be in the perfect counter-attacking position after 18.Qxf1 (on the open f-file). So was exchanging Rooks a good move or a blunder? I think it was a necessary move. Suppose I didn't exchange Rooks and instead played 17...Qxa1. The result would be a draw! 17...Qxa1? 18.Bxh7+ Kxh7 19.Qh5+ Kg8 20.Rxf8+ Bxf8 and then it's a draw via perpetual checks with Qf7 and Qh5.
Thus 18...Qxe5 would have been the best move. Not immediately winning, but definitely an advantageous position for Black: two pawns up and two connected passed pawns.