사천왕사에 대해서는 『삼국유사』에 자세히 기록되어 있다. 신라가 당나라와 연합하여 백제와 신라를 멸망시킨 후 다시 신라와 당나라의 싸움이 계속되었다. 669년 당나라가 50만의 군사를 보내 신라를 침략한다는 소식을 듣고 당나라에 있던 김인문이 의상법사를 찾아가 그 사실을 알렸다. 의상은 곧 귀국하여 문무왕에게 아뢰었다. 왕은 용궁에서 비법을 배워온 명랑법사에게 대책을 물었다. 명랑은 낭산 아래 신유림에 사천왕사를 짓고 도량을 열 것을 제안했다.
당나라가 생각보다 빨리 군사를 보내자 채백(彩帛)을 사용해 임시로 절을 지었다. 풀로 5방의 신상을 만들고 주1의 명승 12명을 모시고 명랑을 우두머리로 하여 문두루비법(文豆婁秘法)을 지었다. 그러자 당나라 군사와 신라 군사가 서로 맞붙기 전에 바람과 물결이 사납게 일어나 당나라 배가 모두 침몰하였다. 그 후에 절을 고쳐 짓고 절 이름을 사천왕사라고 하였다. 사천왕사의 사천왕은 수미산 중턱에 위치한 주2의 주인으로 동방의 주3, 남방의 주4, 서방의 주5, 북방의 주6을 말한다. 사천왕은 천신으로 동서남북 사방을 지키는 역할을 맡는다.
당나라는 671년에 다시 쳐들어 왔지만 문두루비법에 의해 그전처럼 배가 모두 침몰했다. 이때 당 고종은 당나라에 와 있던 신라 사신을 불러 신라에서 무슨 비법을 써서 상황이 이렇게 되었냐고 물었다. 사신은 본국의 일은 잘 모르지만 당나라와 힘을 합쳐 삼국을 통일해서 황제의 덕을 갚으려고 새로 천왕사를 낭산 남쪽에 세운 일이 있다고 답하였다. 고종은 이 말을 듣고 예부시랑 악붕귀(樂鵬龜)를 보내 절을 살펴보게 했다. 신라는 급히 사천왕사 남쪽에 급히 새 절을 짓고 여기로 사신을 인도했다. 사신은 그 내막을 알고 이 절은 사천왕사가 아니고 망덕요산의 절이라고 하면서 들어가지 않았다. 신라는 사신에게 금 1천 냥을 주고 새 절로 인도했다. 사신은 당나라로 돌아가 신라에서는 별다른 비법이 없고 천왕사를 짓고 황제의 수명을 축원하고 있다고 보고했다. 이 일로 사천왕사 앞에 있는 절을 망덕사(望德寺)라고 부르게 되었다. 『삼국사기』에 따르면 679년 사천왕사를 완공하였다고 했다. 신라 최치원의 글에 사천왕사가 보인다. 『삼국유사』에는 경명대왕 3년 사천왕사 오방신이 든 활줄이 끊어지고 벽에 그려진 사자가 울고 개가 뛰쳐나왔다 울고 다시 그림 속으로 들어갔다고 한다. 사천왕사에 머물렀던 고승으로는 신라의 명랑, 양지, 주7가 있다.
고려 1074년(문종 28) 경주 사천왕사에서 문두루도량을 열기도 했다. 조선 중종 때 편찬한 『신증동국여지승람』에 사천왕사가 보인다. 이후 언젠가 폐사된 것으로 보인다. 1922년 일제강점기 때 최초의 발굴 조사가 있었다.
사천왕사는 신라 최초의 주8이다. 발굴 주9 결과 쌍목탑 자리가 확인되었다. 쌍탑의 건립 배경에 대해서는 사천왕사의 문두루비법과 관련된 밀교 사상과 관련시키기도 한다. 최근 쌍탑은 백제 익산 미륵사의 3탑(1목탑+2석탑)의 쌍석탑에서 기원하여 통일신라로 전해졌다고 보기도 하고 중국에서 이성(二聖)을 기린 쌍탑에서 영향을 받아 문무왕이 삼국을 통일한 태종 주10와 김유신 이성(二聖)을 현창하기 위해 쌍탑을 지었다고 보기도 한다.
사천왕사에서 여러 신장상(神將像)이 출토되었는데 사천왕상으로 보기도 하고 주11으로 보기도 한다. 사천왕사 터에는 머리가 잘린 귀부 2기와 당간지주 1기가 있다.
사천왕사가 세워짐으로써 낭산은 불교의 천신인 주12이 머무는 수미산이 되었다. 선덕여왕은 자신을 도리천에 묻어 달라고 했는데 사람들이 그 뜻을 모르자 낭산에 묻어 달라고 하였다. 나중에 낭산 아래에 사천왕사가 들어서자 낭산이 왜 도리천인지 알게 되었다. 수미산 꼭대기가 도리천이고 그 아래가 사천왕천이기 때문이다.