647년(의자왕 7) 보기(步騎) 3,000명을 이끌고 신라의 무산성(茂山城 : 지금의 전북특별자치도 무주군 무풍면) 밑에 주둔한 뒤, 군사를 나누어 감물(甘勿 : 지금의 경상북도 김천시 개령면) · 동잠(桐岑)의 두 성을 공격하였다.
그러자 신라에서는 김유신(金庾信)이 보기 1,000명을 이끌고 와서 대적하였다. 이 싸움에서 백제군이 대패하여 거의 전사하였고, 그는 겨우 살아남았다. 이듬해 다시 신라를 공격하여 서변인 요거(腰車) 등 10여 성을 빼앗았다.
그리고 4월에 옥문곡(玉門谷)으로 진군하였으나 김유신의 군대와 두번 싸워 패하였다. 백제는 이 싸움에서 장군 8명이 사로잡히고 1,000명이 전사하였다. 660년 나당연합군이 쳐들어오자, 백제조정에서는 대책수립을 위한 군신회의가 있었다. 이 때 그는 먼 길을 오느라 피곤한 당군(唐軍)과 먼저 결전할 것을 주장하였으나 채택되지 않았다.