I recenlty purchased a book on the Bird Ruy, and this delightful game among many others was in it.
10.Bf1 is the real stinker.
10. ... d3 ! halts white's development almost entirely.
12. ... h5 ! with the idea of Bg4 is also quite interesting. (There are two supplemental games where white munches the knight and gets eaten alive, for those interested.)
The only serious mistake (as pointed out by a computer) was 22. ... Bf2. 22. ... Rh8+ 23.Ke2 and only then Bf2 is more accurate.