桓宣,谯国钅至县人。祖父桓诩,做过义陽太守。父桓弼,官至冠军长史。桓宣志在创业济时,心地忠厚纯正,为晋元帝丞相舍人。

当时北方坞主张平自称豫州刺史,樊雅自号谯郡太守,各自占据一城,拥有部众数千人。晋元帝因桓宣忠厚讲信用,又与张平、樊雅同州同里,便改任桓宣为参军,让他去劝降张平、樊雅。张平、樊雅派军主簿随同桓宣到丞相府接受辖制,晋元帝封他们为四品将军,令他们各率其部众,防守北方边地。南中郎将王含请桓宣做参军。

不久,豫州刺史祖逖进驻芦洲,派参军殷磖前往张平、樊雅驻地。殷磖蔑视张平,看见他的住屋,说应改做马棚,看见大镬,想打破铸成铁器。张平说:“这是帝王大镬,天下平定后正当用它,为何打破!”殷磖说:“足下能否保得住头,竟吝惜大镬呢?”张平大怒,就在座上斩杀了殷磖,率部固守城堡抗拒晋军。一年有余,祖逖北上攻占张平驻地,杀掉张平,而樊雅依旧据有谯城。祖逖因为兵力不足,向王含求援,王含派桓宣领五百兵士支援祖逖。祖逖对桓宣说:“足下早先已劝降过张平、樊雅,他们相信足下守信义。如今再为我去劝降樊雅。樊雅若肯归降,可继续留用做官,岂止是免死而已!”桓宣又单槍匹马带领随从二人直奔樊雅处,说:“祖逖正打算平定北寇,常要依靠足下为羽翼。先前殷磖轻薄无礼,大违祖逖的意愿。现在如果足下愿意和解,那么忠名可立,富贵可保。如果还要一味固执,祖逖将赫然震怒派遣猛将攻城,凭足下乌合之众,固守孤城,强寇窥伺于北方,朝廷大军从南边进攻,恐怕是万无一全。请足下仔细考虑。”樊雅置办酒席与桓宣结为朋友,派儿子随桓宣来见祖逖。不几天,樊雅便亲自来拜访祖逖,祖逖派樊雅回谯城抚慰其部从。樊雅的部众都以曾多次辱骂祖逖,畏罪不敢归降。樊雅只好又紧闭城门守城。祖逖率部攻城,又派桓宣入城劝说樊雅。樊雅便杀掉异己之人,开城出降。未过多久,石勒的部将率兵围攻谯城,王含又派桓宣率兵救援祖逖,未到谯城而贼兵已退。祖逖留下桓宣讨伐那些未归顺者,皆被攻破。改任桓宣为谯国内史。

祖约放弃谯城南撤,桓宣用书信劝谏,祖约不从,因此石勒便占领了陈留。及至祖约与苏峻共叛朝廷,桓宣对祖智说:“如今强胡未灭,正该齐心合力征讨进剿,而竟然与苏峻一道反叛朝廷,这岂能长久!足下若想做英雄豪杰,为何不协助朝廷讨伐苏峻呢?只有如此才可扬威于天下。”祖智等不予理睬。桓宣打算劝阻祖约,派儿子桓戎告白祖约请求会见。祖约知道桓宣必将劝阻举兵,因而拒绝接见桓宣。桓宣于是抗拒祖约,与祖氏分道扬镳。邵陵人陈光率部落数百家归降桓宣,桓宣对他们予以安抚。祖约返回历陽,桓宣率部曲数千家打算南奔寻陽,在马头山扎下营寨。适值祖焕准备袭击湓口,陶侃派毛宝救援湓口。祖焕派兵攻打桓宣,桓宣派桓戎向毛宝求救。毛宝率兵攻击祖焕,打败了祖焕,桓宣便投奔了温峤。温峤以桓戎为参军。叛军平定后,桓宣留居武昌,桓戎又做了刘胤的参军。郭默杀刘胤,又以桓戎为参军。

陶侃讨伐郭默,郭默派桓戎向桓宣求救,桓宣假装答应。西陽太守邓岳、武昌太守刘诩都怀疑桓宣与郭默串通一气。豫州西曹王随说:“桓宣尚且不与祖约同流,为何要与郭默同流呢?”邓岳、刘诩便派王随前往桓宣府第以观动静。王随对桓宣说:“明公虽无如此居心,但难以剖白,只有请明公将桓戎交付给我王随才能消除众人疑心。”桓宣便派桓戎与王随一道去迎接陶侃。陶侃召桓戎为属官,升桓宣为武昌太守。不久迁为监沔中军事、南中郎将、江夏相。

石勒后赵的荆州刺史郭敬戍守襄陽,陶侃派儿子平西参军陶斌与桓宣一道攻打樊城,夺取了樊城。竟陵太守李陽又攻占了新野。郭敬畏惧,弃城逃走。桓宣与李陽便平定了襄陽。陶侃令桓宣镇守襄陽,将其淮南部曲立为义成郡。桓宣招集安抚那些新近归附的百姓,勉励他们从事农耕蚕桑,减轻刑罚,精简礼仪,有时在乘坐的轺车上装载锄头耒耜,有时亲自到田间里耕种收获。十余年间,石季龙两次派遣骑兵攻打襄陽,桓宣能获得民心,常以弱小之势抗击强敌的侵略,论者以为他是仅次于祖逖、周访的战将。

陶侃正准备派桓宣北伐中原,不幸碰上陶侃病逝。后来庾亮为荆州刺史,筹划北伐,以桓宣为都督沔北前锋征讨军事、平北将军、司州刺史、假节,镇守襄陽。石季龙派七千骑兵渡过沔水攻打桓宣,庾亮派司马王愆期、辅国将军毛宝率兵增援桓宣。贼兵从三面挖地道攻城,桓宣招募精壮勇敢之士,出其不意,杀伤数百贼兵,缴获大量披甲战马,贼兵撤围退走。过了一个时期,桓宣派精锐步骑解救了南陽等郡被贼兵扣押的百姓八千余人回归东晋。庾翼代替庾亮后,准备集中全国兵力举行北伐,任命桓宣为都督司梁雍三州荆州之南陽襄陽新野南乡四郡军事、梁州刺史、持节,将军封号不变。桓宣以先后所建战功,被封为竟陵县男。

桓宣久镇襄陽,安抚本地乡民及北方侨民,颇有政绩。庾翼迁镇襄陽,命令桓宣进讨石季龙部将李罴,大军驻扎丹水,为贼兵所败。庾翼大怒,贬桓宣为建威将军,命令桓宣移兵戍守岘山。桓宣名望与职权都受到损失,加上年老疾病困扰不堪,其时南蛮校尉王愆期镇守江陵,以身患疾病请求派人代替其职,庾翼任命桓宣为镇南将军、南郡太守,代替王愆期。桓宣深感不得志,未到任,怨愤而死。朝廷追赠为镇南将军。桓戎官至新野太守。