648년 3월 백제의 의직(義直)이 군사를 동원하여 신라의 서쪽 변방인 요차성 등 10여 성을 습격하여 빼앗았다. 신라왕은 압독주도독(押督州都督) 김유신에게 명하여 이를 막도록 하였다. 김유신은 군사를 세 길로 나누어 협격(夾擊)하였고, 백제군은 패하여 달아났다. 김유신이 백제군을 추격하여 거의 다 전멸시켰다.
요차성의 구체적인 위치는 비정하기 어렵다. 경상남도 합천군으로 보는 견해도 있지만, 대체로 경상북도 상주시 옛 요제원(要濟院)으로 보는 견해가 우세하다. 백제가 요차성을 비롯한 신라 서변의 10여 성을 공격한 것은 지난해 무산성(茂山城 : 경상북도 상주시) 전투의 패배를 만회하려는 의도였던 것으로 파악된다. 백제의 신라 공격이 번번히 가로막히면서 점차 백제의 공세는 약화되고 신라의 공세가 늘어나게 된다.