原文学掾。元帝即位，大司马车骑将军史高担任尚书，向元帝推荐匡衡，遂担任郎中，又迁博士、给事中。初元二年(前47年)，有日食、地震之变，匡衡上谏“上政治得失疏”的奏折，说：“臣闻五帝不同礼，三王各异教，民俗殊务，所遇之时异也。”建昭三年（前36年），“代韦玄成为丞相，封乐安侯，食邑六百户。” 元帝时，因为与当时宦官石显的不和，成帝即位后，匡衡与御史大夫甄谭上疏弹劾石显。司隶校尉王尊却上章弹劾匡衡和甄谭，直言丞相、御史以前对石显一味地曲意迎合，实为一党，应一起治罪。成帝荒淫无度，匡衡又上《戒妃匹劝经学威仪之则》