咸丰二年(1852年)4月14日,自永安(今广西蒙山)突围北上的太平军先锋罗大纲率部袭占荔浦马岭,旋即又占阳朔高田圩,4月16日又一举攻占桂林南边的六塘圩,进逼当时的广西省城桂林。
清广州都统乌兰泰先在永安大峒惨败,被太平军打死两千将士,自知难逃罪责,便率军跟在罗大纲后面衔枚追击。清军冲进六塘圩后,罗大纲部已不见踪影,有人劝乌兰泰在此宿营一夜,明晨再行追击,乌兰泰不许,慨然对众将说:“本都统深受皇恩,愿与贼同归于尽,贼众已据六塘,必定是休整后前去攻打省垣,若不趁机强攻,省城就要失守”。旋即挥军往桂林方向行去 。清军刚出六塘墟口没多远,忽闻一声鼓响,一彪太平军突然杀出,原来是北王韦昌辉和猛将秦日纲在此设伏截击清军。乌兰泰处变不惊,指挥部下与太平军交战,双方打得难解难分。双方搏杀一阵后,秦、韦佯装不支,督军往桂林方向撤去,乌兰泰仍然率军紧追不舍,一路狂奔,很快追至桂林南郊的南溪桥,秦、韦率部先过了桥,乌兰泰也追了过去,官兵紧随其后,忽然大股太平军迎面扑来,原来是东王杨秀清和南王冯云山率太平军主力在此恭候,以阻截乌兰泰部清军。
乌兰泰久经沙场,倒也不怂,他一马当先,欲与太平军拼死一战。此时天还未亮,忽然一声炮响,弹如雨下,乌兰泰冲在最前面,毫无遮掩,竟身中三弹,跌落马下。部将田学韬赶来救援,却被流弹击中脑袋身亡。众将弁拼死营救主将乌兰泰,冒着枪林弹雨将其抬回六塘,又送往阳朔救治。几天后,广州都统乌兰泰因伤重死于阳朔。后来,清廷将南溪桥改称将军桥,以纪念为救援桂林而战死的清将乌兰泰。
太平军击退乌兰泰、兵临桂林城下时,虽说有两万之众,但能提枪打仗的精兵不过五千余人。据记载,太平军人数不多,而桂林城中兵力更少,据记载:桂林“仅有不满两千乡勇及各衙门差役”,且“大兵在外,城防守空虚,省中大炮均运到永安”。
太平军尽管稍占上风,但大军环伺城外,目标暴露,无险可守,而城内守军则可以利用坚固的城垣、工事抵抗。得知太平军攻城,广西巡抚邹鸣鹤因城防空虚大为惊恐,却无计可施,幕僚建议他可令城中居民登城协助防守,以加强守备力量,邹鸣鹤遂强逼百姓守城,甚至让半大孩子都来协防。洪秀全巡视一番后对左右说:“这邹妖倒不简单,防备竟如此严密”。话音未落,城上枪炮齐鸣,众人急忙簇拥洪秀全掉头疾走,退到5里外扎营。

桂林是当时的广西省会,全省政治、军事、经济中心,地处广西东北部,西江支流桂江(漓江)上游,是联系岭南与长江流域以及中原的交通枢纽。桂林群峰环伺,漓江穿城而过,城池坚固、防御工事齐备远超永安,易守难攻。
杨秀清、萧朝贵等见桂林防御坚固,城外又有一条天然护城河,觉得不可强攻,只能智取。4月17日,太平军派一队士兵穿着永安大峒歼灭战缴获的清军号衣,打着乌兰泰部的旗号抵达桂林南门城下,大声吆喝着欲赚开城门。
从桂平、永安一路追击太平军的广西提督向荣判断出太平军欲攻打桂林,已经带领数百将士连夜驰奔桂林,抢在太平军前面进了城。他隐约看到城外叫门的“乌军”有人披散长发,顿时醒悟过来,知道这是太平军假扮乌兰泰部欲诈开城门,袭占省会,遂下令守军架炮轰击。赚城计划失败,还损失了十几个弟兄,杨秀清与洪秀全商议,决定发起强攻。