由于断水,8月30日,城内守军开始了一系列反击作战,这恰好中了伊凡雷帝的计谋。
城外修建了大量地道和战壕,守军刚刚冲出来就会遭到射击。即便他们能够突破战壕,还会遭到大量沙俄步兵和骑兵的近距离砍杀。喀山守军数量只是沙俄军队的五分之一,这些攻击只是徒增伤亡而已。
喀山城内十分困难,在城外的游击队部队主要是骑兵,开始对沙俄军队发动大规模攻击。然而,沙俄的骑兵也很多,尤其是贵族骑兵很多也是突厥人,对喀山骑兵的一切都非常了解。依靠兵力的优势,沙俄骑兵连续胜利,喀山骑兵连续攻击数日后,因伤亡过大被迫撤退。
到了9月8日,喀山城内越来越危险,城墙已经残破不堪,几乎无法有效防御了。
喀山将领雅潘查接到了城内紧急救援的请求,焦急万分。他只有三四千骑兵,无力同沙俄大军对抗。之前他连续进行破坏作战,袭击沙俄的补给线和零散部队,杀死上千敌人,引起伊凡雷帝的震怒。
此次明知道不能进行决战,但喀山守军已经非常困难,勇敢的雅潘查的骑兵们决定像他们的突厥祖先一样,牺牲自己为同胞争取一些战场上的优势。
雅潘查率领4000名骑兵突然猛攻沙俄攻城部队。仓促之下,沙俄集中高达2万大军同雅潘查决战。只是,攻城部队高达15万人,这区区2万人算不了什么。
而雅潘查率领4000骑兵以传统的方式作战,在沙俄炮兵的轰击下进行激烈近战。双方战斗了一个下午,雅潘查的骑兵无法突破沙俄步兵的防线,反而遭到火绳枪的反复射击。随后,沙俄骑兵全线追击,雅潘查的部队几乎全军覆没,自己也被哥萨克骑兵斩下了首级。
雅潘查骑兵的牺牲没有改变喀山的局势,即便攻城部队减少2万人,守军仍然无法获胜或者突围。
即便如此,守军仍然坚守了整整1个多月。到了10月11日,喀山的气温开始明显下降,冬季快要来了。
伊凡雷帝明白自己没有冬季作战的条件,务必要在10月结束战斗。
在伊凡雷帝的命令下,10月11日沙俄军队发动了总攻。喀山城墙已经有几处较大的缺口,总攻开始以后,沙俄军队以火炮和火绳枪压制城墙缺口附近的敌人,随后使用大量重步兵冲进,试图攻入城内。
喀山守军仍然坚持射箭和开枪,击毙了大量攻城士兵。少量沙俄士兵冲入城内,立即遭遇近距离肉搏,全部被杀死。
一天的猛攻并没有进展,伊凡雷帝当晚召集将领,恼怒地下令第二天务必胜利,不然要严惩所有将领。
这些将领张皇失措,都认为1天内攻入城内是不可能的。此时,一个英国工程师提出了决定性的建议。英国人发现喀山城东南段的城墙已经存在整体性崩塌的可能性。由于长期激战,城墙反复维修,早已残破不堪。在英国工程师的建议下,沙俄士兵用了一个晚上,将数百桶炸药埋设到城墙附近。
第二天黎明,炸药突然引爆,果然长达数百米的木制城墙全部崩塌。喀山守军无法在短时间内修复这么长的城墙,完全措手不及。沙俄集中主力部队,源源不断地从缺口向城里冲击,很快就冲入数千人。喀山守军能做的就是坚持巷战到黑夜,随着叶底格尔被俘虏,城市彻底被沙俄攻占。