郡（治今内蒙古托克托东北）人。汉武帝时，郭昌以校尉的身份跟随大将军卫青攻打匈奴。元鼎六年（前111年）为中郎将，与卫广率兵攻打阻绝滇道的且兰。元封二年（前109年）任将军，与卫广率领巴蜀兵击灭西南夷的劳深、靡莫，兵临滇国，滇王举国降，汉朝在那里设置益州郡。同年，郭昌与汲仁调发兵民数万人塞黄河瓠子口决口，武帝亲临督视，塞决成功。元封四年（前107年）秋，郭昌以太中大夫的身份任拔胡将军，屯兵朔方。之后，回来以后去攻打昆明国，没有功劳，被汉武帝收回了官印罢官。《汉书·沟洫志》载，汉宣帝地节年间，光禄大夫郭昌使