地郁郅（今甘肃省庆城县）人。少年善骑射，入御林军中，担任建章宫守卫，力大无穷，升为郎官。后因事免官。车骑将军许嘉荐为郎中和谏议大夫。元帝建昭三年（前36年），与副校尉陈汤出使西域，发兵至康居，击杀匈奴郅支单于（郅支之战），汉元帝想加封晋爵，但朝廷重臣石显、匡衡反对，被封为义成侯，食邑300户。