霍去病在成名之前,生活并不好过。他的少年时代是在奴婢群中度过的,贫贱而艰苦。他的父亲是平陽县衙役,曾在平陽公主(汉武帝之姐)家当差,母亲是公主家的侍女。霍去病少年时的一大乐趣,就是跟随舅舅卫青习武,骑射,不久他的击刺就技艺超群,长成了一个体魄健壮、寡言守信、智勇兼备的青年。
因为姨母卫子夫的关系,霍去病18岁就做了天子侍中(皇帝身边保卫安全的官)。就在这一年,他随大将军卫青参加与匈奴右贤王争夺河南地(今河套地区)的最后一战,号“票姚校尉”(意为行动迅猛的武官)。他率领800精骑,距大军数百里之遥,乘匈奴不备,选择便于进攻的目标,出奇制胜,斩杀敌兵1028人,首战告捷,被封为冠军候。
此后,匈奴主力远遁漠北,河西走廊的匈奴势孤力单。公元前121年春,霍去病升为“骠骑(意骁勇)将军”,率骑兵万人从陇西出发,进击河西匈奴右贤王(匈奴辖西部地方的最高长官)诸部,6天连续攻破五个部落,险些活捉单于之子,且以直取之势,使浑邪、休屠二王惊恐万状,日夜筑城堤防汉军正面进攻。但是霍去病令全体将士口衔竹箭,马摘响铃,悄悄沿焉支山(今甘肃山丹县东南)东急驰1000多里至皋兰山(今甘肃兰州市南)下,与卢候、折兰二王进行短兵相接的肉搏战。当时,汉军因长途跋涉,人马已疲备不堪,但见霍去病一声高呼,跃马向前,连连击杀敌军,汉军士气大振,奋勇斩杀卢候、折兰二王及部众近9000人,俘浑邪王之子,缴休屠王“祭天金人”(作为匈奴人崇信“天主”亲把用的丈高偶像)。
同年夏,霍去病又与公孙敖串数万骑兵从北地郡(今甘肃永昌西)出发,进攻匈奴右贤王,以彻底歼灭河西匈奴有生力量。由于沿焉支山北正西挺进的公孙敖部迷失道路,未能如期会师,霍去病随机应变,率军越过居延海(今内蒙古自治区西北),由西北转向东南,深入2000多里,从祁连山麓烁得(今甘肃张掖西北)猛攻浑邪、休屠二王侧翼,斩敌3万余,迫使匈奴退出河西走廊。匈奴为此悲歌:“失我祁连山,使我六畜不蕃息;失我焉支山,使我嫁妇无颜色。”
由于匈奴单于欲以战守不力,将浑邪、休屠二王问罪,这年秋天,二王决定降汉。汉武帝唯恐是诈兵之术,命霍去病率万骑前往受降,霍去病尚在途中,休屠王已然反悔,浑邪王情急刺杀休屠王,收编其军队。惊闻风云突变,霍去病毅然率军渡黄河,令全军在四万余匈奴部队前列阵进逼,这时浑邪王部许多无诚意降汉的人,纷纷投转马头逃跑,阵营騷乱。霍去病当机立断,飞马跃入浑邪王阵中,抓住浑邪王,稳住了匈奴众部,再通过谈判,命浑邪王斩杀八千名作乱官兵,派人护送浑邪王赴长安,自己率领几万匈奴兵,功成而返。汉朝把归附的匈奴部众安置在陇西等五郡关塞附近,又沿祁连山至盐泽(今新疆罗布泊)筑边防城寨,在原休屠王、浑邪王驻地分设武威、张掖两郡,酒泉、敦煌总称河西四郡,既进一步孤立了匈奴,又打开了通往西域的道路。
公元前119年,汉朝决定派卫青、霍去病率骑兵5万,步兵几十万人合围漠北。霍去病出代郡(今河北蔚县一带)右北平(今河北平泉县一带),卫青出定襄(今内蒙和林格尔),分兵越过沙漠,寻求与单于决战。
根据沙漠作战的特点,霍去病大胆选用部分降汉的匈奴人和留居匈奴时间较长的汉人为军校,这样就具有熟知匈奴军情和漠北物候的优势。率领有向导的轻骑兵,离开基地,深入敌后,“取食于敌”,“追奔逐北”两千多里,寻找单于。由于单于主力西移,他又率部翻离候山(今何地不详),渡弓卢水(今蒙古克鲁伦河),与匈奴左贤王(辖匈奴东部地方的最高长官)部酣战,结果获匈奴顿头等3小王将军、相国、都尉等83人,共斩俘7万余人,匈奴左部几乎全军覆灭。卫青率部北进1000多里,穿过大漠,向颜山赵信城(今蒙古人民共和国境内)进发,遭遇匈奴单于所率主力精骑,激战中匈奴单于向西北逃走,汉军虏匈奴近2万人。霍、卫两军终于胜利会师于瀚海(今贝加尔湖),为庆战功,在狼居胥山(今蒙古人民共和国德尔山)立祭天高坛,在姑衍山(今蒙古人民共和国乌兰巴托东)开祭地广场,后班师凯旋。此役收复大漠以南所有土地,屯田筑垒防御匈奴,“匈奴远遁,而漠南无王庭”,解除了西汉初年以来匈奴对汉王朝的威胁,霍去病也晋升为大司马骠骑将军。
霍去病战功赫赫,但为人心胸狭窄。有一次卫青率领老将李广等人北伐匈奴,卫青没有委他以重任,这位倔强的老将军愤而自杀了。李广的儿子李敢当时也随军出征,把老父的死归咎于卫青,竟趁卫青不注意的时候冲过来把他击伤了。卫青对老将军的死觉得心中不安,因此对李敢的行为不加以计较,但他外甥霍去病却恨不得要上前与李敢拼命。等到班师回朝后,霍去病对这件事仍耿耿于怀,伺机报复。过了几天,汉武帝邀卫青、霍去病、李敢等将领去甘泉宫打猎。一路上大家有说有笑,唯独霍去病一个人低头不语,显得心事重重的样子。他心里正在盘算着怎么暗害李敢呢?当行到僻静之处时,霍去病终于找到了一个好机会,趁人不注意,他竟一箭把李敢射死了。当时汉武帝倚重卫青和霍去病,不愿追查这件事情,就以打猎出现意外事故为名,把死者家属给打发了。