与此同时,在广漠无垠的北部边疆,蒙恬正在酝酿着一场大规模反击匈奴的战争。他在多半年的时间里,做了很多的准备:让军士们整天吃饱喝足后,就比武射箭。秦军用的一种足弩射程非常远,让军士每天练习。又暗中派人扮成百姓,打入到匈奴内部,帮助他们运送粮草,察看地形,就是不发动进攻。头曼单于多次向蒙恬挑战,蒙恬拒不出战。头曼就认为是秦军胆怯。时间长了,他们就逐渐放松了警惕,可是蒙恬对敌人的一切都已经了如指掌。有一天,蒙恬忽然宴请将士,高举酒杯,豪情满怀地道:“将士们,我们击败匈奴就在今日!你们愿意为国立功吗?”将士们一听要打仗了,个个高兴得摩拳擦掌,都想和匈奴一决雌雄。蒙恬非常高兴,就对王离下令道:“王将军,你即刻率领五万精骑,星夜赶到大河渡,先烧毁匈奴人的渡船,截断头曼的归路,我随后尽起大军去攻长城,杀向匈奴的大营。头曼一定不会想到我们要进攻他们,这一仗必然要吃败仗。他们战败后,一定会向大河渡溃败,到时你我就将敌人围堵在大河边上全部歼灭。”王离听了蒙恬的用兵方略,慨然接受了命令,连夜率兵前往。
头曼在长城以北的大营中,每天派人探听秦军的消息。这些天来,突然得到报告,说秦军大营的旗帜减少了。头曼高兴地说:“这是蒙恬把秦军调往别处了,看来他们不会向我们进攻的。”这天夜里,头曼正在睡觉,忽然有人进来报告:“大王,不好了,后营起火啦!”头曼大怒,问何处起火。军士回答:“起火处正是囤粮所在。”头曼气冲冲地前来察看,只见几十处粮仓全都起火,并且火势越来越往。头曼见此,狂怒地大叫:“这是怎么回事?”有人报告:“这一定是有人故意放的火啊!”头曼吼道:“你们快去救火!寡人要把看守的人立即斩首!”话音刚落,只听见头顶上有‘嗖嗖’的声音传来,大家抬头一看,只见天空里的火箭如同烟花一般一齐射来。只瞬间工夫,整个营地上就全部起火。头曼大惊失色,急忙率领大小将士登城察看。这一看不要紧,竟然吓得头曼如同中风一般,原来秦军在数里长的战线上举起火把,铺天盖地般的杀了过来,喊杀声惊天动地。头曼终于明白了:这是秦军发起了全面进攻。于是仓皇应战。
秦军杀到长城下,竖起云梯猛攻长城,后方射来的箭像雨点一样密集,那些没有烧死的匈奴兵急忙登城应战,一部分人已经惊慌逃窜。双方大杀一夜,秦军就攻上了城头,匈奴兵纷纷败退。头曼单于和左右大将无法控制局面,只好随着人流退却。原来匈奴人作战,只图眼前的利益,如无利可图,就各自逃命,互不救援,因此全线溃败了。二、三十万军队烧死踏死者不计其数,蒙恬夷平了匈奴大营,紧接着率兵追杀。
头曼果然向黄河渡奔去,他一路败逃,陆续接纳败兵,尚有十万人马。一日黄昏,匈奴兵来到黄河边上,发现渡船已经被烧毁,大叫道:“寡人经营各部数十年,驰骋大漠,从未败北,不想今日被南蛮打败。我听兵法上有‘置之死地而后生’的话,现在我十万大军若是拼死一战,胜负尚未可知啊!”言未毕,一声鼓响,迎面杀声震地,战马萧萧,冲出无数甲士,将头曼的大军团团围住。迎面有一面大旗迎风招展,上书一个大大的‘王’字,正是王离的军马。这时后面的军士也飞马来报:“大王,不好了,蒙恬从后面杀到!”头曼单于大惊失色,愤怒地大叫:“蒙恬如此狡诈,他先断寡人的归路,又来追杀,真是卑鄙无耻,我们与他拼了!杀!”双方的将士就在黄河边上展开了激战。蒙恬和王离会合后,蒙恬下令将西北向的秦军撤围。王离不解,就想合围起来活追头曼。蒙恬道:“穷寇勿迫,网开一面。”王离疑惑道:“头曼无处可逃,一定能活捉。”蒙恬道:“他们人马尚众,若是逼急,就会拼命,胜负尚未可知。若是不急于剿灭,留他一条生路,就一定不会拼出死力战斗。”王离佩服其高论。
匈奴兵被三倍的秦军前后夹击,双方一场血战。头曼单于正在指挥战斗,果然有人来报,说西北角上没有秦军。头曼就率领众将向西北突围。蒙恬见头曼果然只想逃命,就率领秦军奋力追杀。这一追,只杀得匈奴尸横遍野,血流成河,黄河之水都染成了红色。头曼在众将领的保护下,终于逃离了战场。这场战斗果然像蒙恬预料的那样,匈奴人没有拼死一决,秦军才能大获全胜,还缴获了无数的战利品。
头曼率领残兵败将,向西逃了一夜,见秦军没有追来,才放下心来。天亮时,他们来到大河边,身后只剩下几千人了,并且都受了伤。头曼沿河寻找船只,见浩浩大河,无船可渡,只好望河大恸,突然拔出佩剑就要抹脖子,左右急忙扯住道:“南蛮不来追赶,这是老天爷不让我们死啊!大王若派水手渡过河去,把战败的消息告诉族人,族人就一定划船来救,我们还死不掉啊!”头曼道:“寡人战败,无颜再见父老,又怎敢烦劳他们?”将军们都道:“胜负是兵家常事,更何况大王与嬴政都是天生圣人,今后卷土重来尚未可知,您怎能失掉斗志?”头曼这才转忧为喜,于是赶紧派水手过河。
接下来的几天,蒙恬驱逐匈奴残部,摧毁据点。王离也尾随匈奴败兵追赶,一日来到黄河边上,已是人困马乏。他们也不知道头曼到了那里,正在查寻下落,忽然军探来报,说头曼正在前方不远处渡河。王离大惊,问匈奴怎样渡河。军探道:“河北有人前来救应,他们准备了数十条大船来回摆渡。”王离急忙率军来到河边,果见匈奴正在渡河,就急率大队冲了上去。头曼在南岸见秦军骤至,就赶紧登船离去,剩余的军士全部淹死在水中。单于爬上岸后,族人拜呼万岁。头曼遥指对岸道:“此仇不报,死不瞑目啊!”大家就簇拥头曼向云中的头曼城奔去。王离见头曼单于逃走了,懊悔莫及,只好来向蒙恬报告。这样黄河以南的土地就全部归到秦国的版图之内了。
秦始皇接到喜报,嘉奖将士,又令蒙恬渡过黄河继续攻取土地。蒙恬不负重望,率领大军过了黄河,又攻占了高阙、北假、阴山等地,还修建了烽火台。头曼听说秦军过了黄河,害怕又来攻城,于是弃了头曼城,向北退却。蒙恬就在那里设置了云中郡和九原郡,又新增了三十四个县。
蒙恬见到处都是大漠荒原,无险可守,就向皇帝上书,要修建长城。秦始皇道:“秦昭襄王灭了义渠,在陇西、北地、上郡修建长城来抗拒胡人。赵武灵王北破林胡、楼烦,从代地直到阴山下修建了长城,还设了高阙关防御匈奴,因此云中、雁门和代郡都安全了。燕国也从造阳到襄平郡修建长城,因此上谷、渔阳、右北平、辽西、辽东各郡也都不怕匈奴人入侵。匈奴人迁徙游走的习性是不会改变的,朕想把以前秦、赵、燕三国的长城连接起来,名曰‘万里长城’,它将是一条横亘北方,阻挡胡人南进的军事屏障,你们认为如何?”李斯道:“陛下,万不可行啊!”秦始皇问为何。李斯道:“以前秦国在陇西、北地、上郡修建长城时,耗费了大量的的人力物力,历时三年才完成。现在陛下要把长城全部连接起来,从陇西到辽东,长达万余里。况且所经之地,高山峡谷很多,如此崎岖之地,何时才能建成?这将是一场劳民伤财的举措,请陛下三思!”秦始皇笑道:“以前修长城,因为人力不足,现在天下统一了,人皆为大秦所用,何愁建不成呢?只要大家分段包干,没有办不成的事情。况且长城因山就势,并非全部筑城,一旦筑成此军事屏障,胡人安敢南下来牧马?”群臣齐呼万岁。
随后,秦始皇又下令向北方移民,共同垦荒戍边。从此,秦国的军民建县的建县,修路的修路,筑城的筑城。秦始皇还整顿全国的官吏,把贪官污吏和不称职的官员全部充军,家在北方的去修长城,家在南方的去开发岭南,共同建设国家。在南方设立了南郡、象郡和桂林郡,又在岭南地区进行大规模的交通建设。