성은 김이며 신라 제47대 헌안왕(憲安王) 또는 제48대 경문왕(景文王)의 아들이라고도 한다. 아마도 정권다툼에서 회생되어 지방으로 몰려난 것으로 여겨진다. 어려서 세달사(世達寺: 興敎寺)의 승려(僧號는 善宗)가 되었다가(876년) 신라가 쇠약하여 각지에서 반란이 일어나자, 891년(진성여왕 5) 죽주(竹州: 현 永同)의 산적 기훤(箕萱)의 부하가 되었다가 892년에 북원(北原) 양길(梁吉)의 부하가 되었다. 그 후 양길의 부하를 거느리고 강원·경기·황해 일대를 공략하여 많은 군사를 모으는 데 성공하자, 군도(群盜)를 배경으로 세력기반을 굳혔다. 894년 궁예는 명주(강릉)를 토평하고 군사 3,500명을 모아 14대로 편성하고 장군에 추대되었다. 896년 송악군(개성)의 왕건 부자 궁예에게 귀순하였다.
898년(효공왕 2) 양길을 타도하고 송악(松岳: 개성)을 근거로 자립하여 고구려의 부흥을 표방하고, 다시 901년에 후고구려를 건국하여 스스로 왕이라 칭하였다. 904년 국호를 마진(摩震)으로 개칭하고, 도읍을 철원(鐵圓)으로 옮기고 연호를 무태(武泰)에서 성책(聖冊)으로 고쳤다. 911년에 국호를 태봉(泰封)으로 개칭하면서 연호도 수덕만세(水德萬歲)로 고쳤으며, 발해왕 대인선이 궁예에게 사신을 보내왔다. 914년에 다시 연호를 정개(政開)라 개칭하였다.
궁예는 국사를 총리하는 광평성(廣評省)을 비롯하여 병부(兵部) 등 10부와 9관 등의 관제를 정비하여 국가의 면모를 갖추었다. 또한 강원·경기·황해의 대부분과 평안·충청 일부를 점령하고, 왕건(王建)과 제휴하여 진도(珍島)·나주(羅州)를 점령하여 남서해의 해상권도 장악하였다.
그러나 궁예는 신라를 멸도(滅都)라 일컫게 하고, 투항한 신라인을 모조리 죽이는 등 전제군주로서의 횡포가 심하였다. 그리고 자신의 지위를 합리화하기 위하여 자신은 미륵불(彌勒佛), 두 아들은 보살(菩薩: 靑光菩薩·神光菩薩)이라고 칭하는 등, 백성을 괴롭히고 많은 신하를 희생시키며 호탕방일한 생활을 하였다. 그리고 궁예의 극악무도함을 드러내는 대표적인 사례로 흔히 간통이라는 죄목을 씌워 부인 강씨 및 두 아들을 죽인 사건이 꼽힌다. 이 대목을 「삼국사기」는 '벌겋게 달군 무쇠방망이로 부인 강씨를 음부를 쳐서 죽이고 두 아들까지 살해했다'하고 있다.
그런데 「고려사」로 넘어오면서 쇠망방이가 난데없이 3척 쇠방망이로 둔갑하고, 이것으로 불에 달궈 죽였다 하는 대목에는 '입과 코에서 연기가 났다'라는 구절이 추가되고 있다
이와 같이 폭군으로 전락한 궁예는, 결국 그의 부하인 신숭겸(申崇謙)·홍유(洪儒)·복지겸(卜智謙)·배현경(裵玄慶) 등이 왕건을 추대하자 도망가다 평강(平康)에서 백성에게 피살되었다. 이러한 궁예의 피살에 관계해서 「삼국사기」에서는 '왕(궁예)이 (쿠데타 소식을) 듣고 어찌할 바를 몰라 미복(평상복) 차림으로 달아나 산속으로 들어갔다. 얼마 안 있어 부양(斧壤) 지역 백성들에게 죽었다'고 하는 데 반해 「고려사」 기록은 다음과 같다.
'(달아난 궁예는) 이틀 밤을 지내고 몹시 배가 고파 보리이삭을 잘라 훔쳐 먹었는데 얼마 안 있어 부양 지역 백성들에게 죽었다' 「삼국사기」에는 없는 보리이삭 운운하는 대목이 끼어들어가 궁예를 더욱 비참하게 만들고 있다.