于是田见秀就打算要全军压上对玛瑙山发动总攻,结果此时黄得功突然率领起兵从侧翼杀来了,黄得功先是指挥所部明军用卡宾枪和马拉火炮去射击,然后他亲自率领麾下的明军骑兵去冲锋顺军,黄得功是辽人军官出身所以擅长指挥骑兵,很快他就成功的击溃了侧翼的顺军,田见秀见状就赶紧让马守应和刘希尧立刻率领所部人马前去抵抗黄得功的冲锋。
马守应和刘希尧立刻率领所部顺军去抵抗黄得功,结果他们二人就直接跟黄得功的骑兵遭遇了,黄得功见状直接就拍马持槊向他们二人杀过来,黄得功身为勇将完全不怕以少打多,马守应和刘希尧见状赶紧举起各自的大刀长枪前去应战,结果打了二十几个回合黄得功一槊就打中了马守应的肩膀,马守应疼的扔下大刀然后赶快骑马逃跑了,刘希尧见状也赶紧掉转马头开始逃跑。
他们二人本来就是之后投靠李自成的农民军别部,他们自然不会愿意为了李自成拿性命去冒险,而马守应和刘希尧的两部人马见状也立刻开始逃跑了,结果很快他们就被黄得功骑兵打得大败而逃,与此同时金声桓见黄得功来援就集结明军展开了反击,很快他就率领明军跟田见秀展开了正面厮杀,田见秀见状立刻集结身边的顺军部队跟金声桓去交锋。
结果双方在交手后田见秀就发现自己真的低估了湖广明军的实力,他惊讶的发现这些湖广明军在近战时候表现根本就不算差,由于此时金声桓所部明军见援兵抵达士气高涨,而自己这边的顺军久攻不下导致人困马乏,所以在近战中顺军根本无法压制明军,田见秀只能凭借着人数优势跟金声桓所部明军打得有来有回,毕竟湖广明军此前多次跟西班牙殖民军作战也积累了很多经验,而且他们在接触了荷兰人的新式战术后也在积极学习,所以说论训练程度他们甚至强于顺军。
然而很快田见秀就发现马守应和刘希尧的人马败了,于是对流寇战术习以为常的田见秀见势不妙立刻下令顺军撤退,毕竟他也知道马守应和刘希尧在危急时刻是靠不住的,金声桓和黄得功则趁机兵分两路展开全面追击,很快他们二人就打得田见秀旗下三路顺军主力是丢盔弃甲抱头鼠窜,田见秀,马守应和刘希尧见明军势大根本无意抵抗,他们只是在带着麾下士兵向西逃跑,结果他们的粮草弹药几乎全部被金声桓和黄得功麾下明军缴获。
此战过后金声桓和黄得功率军一举收复了施州卫,玛瑙山战役之前拥兵二十万的顺军十分强大,这让湖广西部和南部的军民士全都感到人人心惶惶,结果经过这场战役这种情绪基本上被扫荡无余,而金声桓和黄得功本来打算先重点展开防守,然后这场战役打完他们感觉顺军还是以前的乌合之众,于是他们直接乘胜率领明军杀入四川,逃入重庆府的田见秀见状赶紧向李自成求援。