『삼국사기(三國史記)』에 따르면, 647년 10월 백제의 장군 의직(義直)은 보기병(步騎兵) 3천명을 동원하여 무산성(茂山城: 현, 전북특별자치도 무주군 무풍면)을 포위하고, 다시 감물성과 동잠성(桐岑城)을 공격하였다. 당시 신라의 장군 김유신이 보기병 1만명을 거느리고 맞서싸워 백제군 3천여 명을 목베었다. 의직이 필마(匹馬)로 돌아왔다고 기록될 정도로 백제가 크게 패하였다.
감물성과 동잠성은 신라 서변의 주요 성곽으로서 경상북도 김천시 일원으로 추정되고 있다. 무산성과 감물성 · 동잠성은 거리가 상당히 떨어져 있고 초반 전투에서 신라군이 고전(苦戰)하는 것으로 보아, 의직이 단지 3천명을 동원하고 이를 나누어 감물성 · 동잠성을 공격했다고 보기는 어렵다. 아마 백제군도 신라군에 상응하는 1만명 정도를 동원했을 것으로 여겨진다. 당시 백제군의 공격은 신라의 추풍령로를 차단하기 위한 작전으로 파악된다.