河北地区起兵，牧帅汲桑亦加入，并且进攻多个郡县，逼近邺城，司马虓派苟晞和广平太守丁绍一同击退公师藩。次年苟晞更在白马县攻击准备渡过黄河的公师藩，并将他斩杀。永嘉元年（307年），汲桑作乱，自称大将军并称要为上一年被杀的司马颖报仇，并进攻邺城。新蔡王司马腾兵败被杀，邺城陷落，汲桑于是打算南攻兖州。太傅司马越知道后大惊，先命苟晞为前锋进讨汲桑。后见苟晞与汲桑部将石勒在阳平、平原相持并互有胜负，又领兵出镇官渡，声援苟晞。汲桑素来畏惧苟晞，于是在苟晞攻来时在城外设栏栅加强防卫，苟晞先让士兵休息，只派单骑向汲桑部