人少,爭相出寨出擊,馬舉立即率數萬大軍從東南面攻擊賊軍,賊軍退守濠州。馬舉派人挖掘壕溝三面包圍了濠州,北面是淮河,賊軍仍然可以和徐州相通。龐勳派吳迥相助劉行及守濠州,又派兵駐紮在淮河北岸相呼應,馬舉派別將渡過淮河攻擊他們,殺敵數千人。
七月,康承訓攻克臨渙,殺敵近萬人,接著攻克襄城、留武、小睢等寨。康承訓乘勝進抵宿州的西邊,築城防禦。 之前,因為梁丕擅殺姚周,龐勳把他罷免了,讓徐州舊將張玄稔代理州事,派張儒、張實等帶城中幾萬人抗拒官軍。張儒等在宿州城外紮了幾層軍寨,環水固守;康承訓派兵包圍了他們。張實夜晚派人潛出傳書給龐勳說:“現在官兵主力在宿州城下,西邊必定空虛,將軍應該出其不意,出擊宋州、亳州,他們必定解圍向西,將軍在要害的地方伏擊,我們出城從後面夾擊,一定可以打敗他們!”龐勳得到張實的書信,聽從了他的計策,讓龐舉直和許佶守徐州,自己帶兵出擊宋州、亳州。
八月二十七日,官軍攻城死傷幾千,沒有進展。於是,康承訓派能言善辯的人在城下招降。張玄稔曾經戍邊有功,雖然被迫從賊,但是心裡一直憂慮悲憤。當時他帶自己的屬下守子城。晚上,召集親信計議歸降朝廷,大家都積極響應。於是,張玄稔派心腹張皋潛出城告訴康承訓,約定日期殺賊獻城。康承訓大喜,應承了他們的計劃。
九月初三,張儒等在柳溪亭飲酒,張玄稔派部將董厚伏兵於亭的西側。張玄稔率先躍馬而前,大叫說:“龐勳已經被斬首,你們還能活嗎!”士兵衝上前把張儒等幾十人殺了,城中大亂,張玄稔到晚上才平定了局勢。
初四,張玄稔開門出降。康承訓慰勞了他們,宣敕封張玄稔為御史中丞。張玄稔出計策說:“現在宿州城已經歸順了朝廷,但是別的城不知道,請讓我假裝城陷帶兵去詐苻離。賊黨必不懷疑!”
康承訓答應了他。張玄稔在城內募集柴火焚燒,作城陷軍潰的樣子,帶宿州兵三萬直奔苻離,苻離接納了他們。等到張玄稔的軍隊進入後,斬殺苻離守將,收苻離兵近萬人,然後向北奔撲徐州。
初七,張玄稔帶兵包圍了彭城,先派人對城上人說:“朝廷只誅殺逆黨,不傷好人,你們為什麼要為賊兵守城?若再猶豫片刻你們將和他們一樣成為俘虜!”
於是守城的官兵都棄甲投降,崔彥曾的老部下路審中開啟城門迎接了官軍。龐舉直、許佶率他們黨羽退守子城自保。下午賊黨從北門逃逸,張玄稔派兵追擊,殺龐舉直、許佶等人。接著張玄稔又在城內誅殺賊軍親族幾千人,於是徐州被平定。
康承訓初六打聽到龐勳帶兵西出的訊息,立即率步騎八萬人往西追擊,派朱邪赤心帶幾千騎為前鋒。之前,龐勳帶兵二萬攻擊宋州未成功,又渡過汴河去攻亳州。在路上被沙陀兵追到,龐勳帶兵沿著渙水向東回彭城,到蘄縣西的時候,官軍會合出擊,殺賊近萬人,其他的都淹死了了,投降的還不到一千人。龐勳被亂兵殺死,幾天後才找到他的屍體。
之後,賊軍其他的營寨都殺守將投降。只有吳迥固守濠州,官軍沒有攻下。 十月, 馬舉圍攻濠州。二十三日晚上,濠州城糧盡,吳迥突圍被馬舉誅殺。
平定徐州叛亂後,朝廷任命康承訓為河東節度使,杜慆為義成節度使。辛讜被任命為亳州刺史。辛讜在泗州的時候,為了突圍籌糧,往返不下十二次。到亳州上任後,辛讜上表說:“臣的功勞,如果沒有杜慆支援是不可能成功的。”另外,皇上為了表彰沙陀人的功勳在雲州設定了大同軍,委任朱邪赤心為雲州節度使,並親自召見了他,賜姓名為李國昌,賞賜甚厚。
懿宗鹹通十一年(農曆八七零年) 四月, 徐賊餘黨仍然聚集鄉里為盜,散居於兗州、鄆州、青州、齊州之間,朝廷下詔徐州觀察使夏侯瞳招降他們。 六月二十五日,朝廷下詔徐州依舊為觀察使,統領徐、濠、宿三州,割泗州為團練使,隸屬淮南。