李广是陇西成纪人。他的先祖叫李信,秦朝时担任将领,就是追击并抓获燕太子丹的人。李广家世代传授射箭技艺。汉文帝十四年,匈奴大举入侵萧关,李广以良家子弟的身份参军抗击匈奴,因为擅长射箭,斩杀和俘获的敌人很多,被任命为郎官,担任骑常侍。他多次跟随汉文帝打猎,格斗杀死猛兽,汉文帝说:“可惜李广生不逢时,如果让他处在汉高祖时代,封个万户侯又算得了什么!”
汉景帝即位后,李广担任骑郎将。吴、楚七国反叛时,李广担任骁骑都尉,跟随太尉周亚夫在昌邑城下作战,名声显露。因为梁王私自授予李广将军印信,所以回京后,朝廷没有给予赏赐。李广担任上谷太守,多次与匈奴交战。典属国公孙昆邪向汉景帝哭着说:“李广的才能和气魄,天下无双,他自恃才能,多次与匈奴正面交战,恐怕会失去他。”汉景帝于是调任李广担任上郡太守。
匈奴入侵上郡,汉景帝派宦官跟随李广整训士兵,抗击匈奴。这位宦官率领几十名骑兵出行,遇到三个匈奴人,与他们交战。匈奴人射伤了宦官,几乎杀死了他所有的骑兵。宦官逃到李广那里,李广说:“这一定是匈奴的射雕手。”李广于是率领一百名骑兵前去追击这三个人。这三个人没有骑马,步行了几十里。李广命令他的骑兵左右散开,形成包围之势,自己亲自射击那三个人,杀死两人,活捉一人,果然是匈奴的射雕手。把俘虏捆绑好后,李广等人上山,望见几千名匈奴骑兵,匈奴骑兵看到李广等人,以为是诱敌的骑兵,大为吃惊,上山摆开阵势。李广的一百名骑兵都非常害怕,想要疾驰返回。李广说:“我们距离大军几十里,现在这样逃跑,匈奴追击射杀,我们会立刻全军覆没。现在我们留下来,匈奴一定认为我们是大军的诱敌部队,不会攻打我们。”李广下令说:“前进!”前进到距离匈奴阵地二里左右的地方,停下来,下令说:“所有人都下马解下马鞍!”骑兵们说:“敌人这么多,又这么近,如果情况紧急,怎么办?”李广说:“那些匈奴人以为我们会逃跑,现在我们解下马鞍表示不逃跑,以此来坚定他们的猜疑。”有一位骑白马的匈奴将领出阵监护士兵。李广上马,率领十几名骑兵奔驰过去,射死了那位白马将领,然后又返回队伍中,解下马鞍,让士兵们放开马匹,躺下休息。当时恰逢黄昏,匈奴士兵始终对他们感到奇怪,不敢进攻。半夜时分,匈奴士兵认为汉朝在附近埋伏了军队,想要趁夜袭击他们,于是率军撤离。第二天清晨,李广才率领骑兵返回大军营地。后来李广又调任陇西、北地、雁门、云中太守。
汉武帝即位后,身边的人都称赞李广是名将,因此李广入朝担任未央卫尉,而程不识当时也担任长乐卫尉。程不识过去和李广都以边郡太守的身份率军屯驻边境。等到出兵攻打匈奴时,李广行军没有严格的编制和行列阵势,靠近水草丰美的地方驻扎,士兵人人都感到方便,晚上不敲击刁斗自卫,军中幕府简化文书事务,但也会在远处设置侦察兵,从未遭遇过危险。程不识严格整顿部队的编制、行列和营阵,晚上敲击刁斗警戒,官吏处理军中文书直到天明,士兵不能随意行动。程不识说:“李将军治军极为简易,然而敌人如果突然袭击,就无法抵挡;但他的士兵也安逸快乐,愿意为他拼死效力。我的军队虽然事务繁杂,士兵疲惫,但敌人也不能侵犯我。”当时,汉朝边郡的李广、程不识都是名将,然而匈奴害怕李广,士兵大多愿意跟随李广,而苦于跟随程不识。程不识在汉景帝时期因为多次直言劝谏担任太中大夫,他为人廉洁,严格遵守法律条文。
后来汉朝用马邑城引诱单于,派大军埋伏在马邑附近,李广担任骁骑将军,隶属于护军将军。单于察觉了汉朝的计谋,率军离去,汉军都没有立下功劳。四年后,李广以卫尉的身份担任将军,出兵