清同治初年,在陕西关中地区发生了声势浩大的回民起义。这次起义如燎原之火,烧遍了八百里秦川,波及整个西北地区。影响深远。
陕西回民起义是在太平天国革命的影响和推动下发动的。同治元年(1862年)春天,太平天国扶王陈得才会同捻军首领张洛行、姜太凌,率众20余万,由河南攻入关中,直逼西安,全陕震动。早已不堪清政府民族压迫和封建剥削的陕西回族人民便起而响应,举起了起义反清的义旗。起义是由汉族地主团练任意屠杀回民引起的。其时,陕西驻防清军多被调往内地镇压太平天国和捻军起义,防务空虚。为了防止人民的反抗,清政府起用被革职回省的前江西省巡抚张芾为陕西团练大臣,大办团练,肆虐乡里。这年四月,有过路的回民在华州(今华县)汪张村的一家竹园里砍了几根竹竿,园主纠众打死两个回民。回民到州府告状,知府濮尧反诬回民“与长毛(太平军)勾通谋反”,痛惩告状回民。地主团练早有屠回之心,看到官府已向回民开刀,便迫不及待地动起手来。张芾将全省的团练分为四路,企图“一举剿灭回民”。砍竹事件之后,华州团练首先动了手,把附近的回民村庄秦家滩付之一炬,接着渭南、大荔、耀州、泾阳等地也相继发生屠回事件。各地回民惶恐不安,纷纷挈眷属北渡渭河,向回民聚居的渭南县仓头镇和大荔县羌白镇、王阁村等地集中。恰在此时,太平军到达赤水镇,渭南、华州、大荔的回民便起而响应,在任武、洪兴、赫明堂的带领下,举起了反清的义旗。太平军在回民起义军的带领下,攻下渭南和华州城。
五月初,张芾率领临潼知县缪树本等及团练20余人,到渭南进行“弹压”,张被起义军处死,于是起义如燎原之火,在整个秦川燃烧起来,华阴、临潼、高陵、三原、富平、泾阳、蒲城、朝邑、咸阳、长安、咸宁等县的回民相继起义。很快在西安以东地区形成了以王阁村、羌白镇和仓头镇为中心的起义根据地。西安以西地区则以咸阳的渭城为指挥中心。起义队伍迅速发展到20多万人,号称“十八大营”。起义军以赫明堂、马长顺、白彦虎、禹得彦、马生彦、崔伟、杨文治、孙玉宝、马政和、冯均福等为将领,公推洪兴、任武为元帅,四处出击,并将省城团团围困起来。他们击溃了地主团练,还击毙清军协领图克唐阿、纳勒和春等官员多名。清廷大为震惊,急命多隆阿为钦差大臣带兵入陕,因多被太平军牵制在豫鄂一带,无法赴任,又改派胜保为钦差大臣,统军入陕。岂料胜保一入关,便被回民起义军截击,兵勇伤亡千余人,以后又屡吃败仗。清廷便将胜保革职治罪,遂又命多隆阿为钦差大臣,督办陕甘军务。多隆阿率军西进,遭到义军的迎头痛击,乃退缩到潼关、朝邑一带。起义军拥众围攻同州(今大荔),清军乘虚而入,多隆阿才得以进驻西安。
多隆阿在用兵的同时,又打出了“招安”的幌子,以期分化起义队伍。起义军中的一些不坚定的首领叛变投敌。同治二年(1863年)二月,清军攻破羌白镇和王阁村,残酷地屠杀回民数千,以致“尸山堆积,流血成川”。起义军失利,被迫西撤。清军乘机占领了桥店、孝义、仓头等重要村镇,扑灭了省东地区的起义烈火。然而,西安以西的大部分地区仍在回民起义军的控制之下,其主力集中于咸阳、渭城一带。此时,太平军驻守汉中,川滇农民军占领周至等地。如果回民起义军及时同友军联合起来,定能轻取西安。但是,在关键时刻,孙玉宝等首领经不起利禄的引诱,率领部分党羽叛变投敌,动摇了军心。清军乘机发动进攻,起义军奋起抗拒,坚持到十二月份,渭城被清军攻破。清军占领渭城后,对回民进行了野蛮的屠杀,有一万八千多人死于刽子手的屠刀之下,老人、妇孺被清军推进渭河溺死者难计其数。
渭城失守后,西安地区的回民起义军同凤翔崔伟领导的回民军会合起来,尚有十万人的光景,在白彦虎、马长顺、崔伟、毕大才等率领下,向西北方向撤退,经过礼泉、乾县、县,转移到陕甘交界的董志塬,继续坚持抗清斗争。