
649년 가을 8월 백제 장군 은상이 7천명의 군사를 이끌고 쳐들어와서 석토(충북 진천군) 등 7개 성을 잃었다.
대장군 김유신과 장군 진춘, 죽지, 천존 등이 왕명을 받을어 나아가 이동하며 싸웠으나 열흘이 지나도록 승부가 나지 않았다.
김유신은 도살성(충북 제천시) 밑에 주둔하고는, 군사들에게 "오늘 반드시 백제 병사가 정탐하러 올 것이니, 함부로 누구냐고 따져 묻지 말고 모르는 체하라"고 명한 뒤, 사람을 시켜 군중을 돌아다니면서 "성을 굳게 지키고 움직이지 말라. 내일 구원병을 기다려서 결전하겠다"고 말하도록 했다.

백제첩자가 이 말을 듣고 돌아가 은상에게 보고하매, 은상 등은 구원군이 온다는 말에 두려워했다. 이때 김유신이 공격 명령을 내려 백제군을 전멸시켰다.
이 전투에서 신라는 총사령관 은상을 비롯하여 100명의 백제장수 및 군관을 죽이거나 사로잡았으며, 병사 8,980명의 목을 베고, 군마 만 필을 얻었다. 병기는 헤아릴 수 없을 만큼 얻었다고 한다. 은상은 당시 백제 최고의 장수였기에 타격이 컸다.
주력부대가 전멸당한 백제는 이후 6년 동안 신라땅을 노리지 못하고 방어에만 전념하게 된다. 655년이 되어서야 고구려의 지원으로 신라를 다시 공격할 수 있게 되었다.
이듬해 650년 6월, 당나라에 사신을 보내 백제군을 크게 격파한 사실을 알렸다. 왕이 친히 <태평송>을 짓고, 손수 그 태평송을 수놓아 비단을 짰다. 이것을 김춘추의 아들 김법민을 보내 당나라 황제에게 바쳤는데, 그 가사는 이러하다.
"큰 당나라가 왕업을 열었으니 높고 높은 황제의 계획은 창성할세라.
전쟁이 끝나니 국위는 안정되고 문치를 잘하여 백왕이 뒤를 이었네.
하늘을 거느리니 알맞은 비가 내리고 만물을 다스리니 온갖 것이 윤택하도다.
깊은 인덕은 해와 달 같고 돌아오는 운수는 요순 시절보다 앞서네.
깃발은 어찌 그리 빛나고 징소리 북소리는 어찌 그리 웅장한가.
외이(오랑캐)로서 황제의 영을 거역한 자는 칼 앞에 엎드러져 천벌을 받으리라.
순후한 풍속이 곳곳에 퍼지니 멀고 가까운 곳에서 다투어 상서를 바치네.
사시의 기후는 옥촉처럼 고르고 칠요의 광명은 만방에 비친다.
산악의 정기는 보필할 재상을 낳고 황제는 어진 신하에게 일을 맡겼네.
오제삼황의 덕이 하나로 이룩되니 우리 당나라 황제를 밝게 해 주리."
당 고종이 이를 아름답게 여겨 김법민을 대부경에 임명하여 돌려보냈다. 신라는 중국의 연호 '영휘'를 사용하였다.
당시 정세가 고구려에게 점점 불리해지고 있었던 것이다. 고구려의 동맹국이었던 백제와 일본은 군사력이 약해서 도움이 되지 못했고 신흥 군사강국이었던 신라는 친중화 되어서 당나라편에 붙었기 때문이다.
