661년(무열왕 8) 2월 백제 유민이 사비성(泗沘城)을 침공하므로 신라 무열왕이 이찬(伊飡) 품일(品日)을 대당장군(大幢將軍)으로 삼아 여러 장수들을 거느리고 가서 사비성을 구원하게 하였다. 이 때 의광은 낭당장군(郎幢將軍)에 임명되어 출전하였다.
3월 5일에 품일이 휘하의 군대를 나누어 먼저 가서 두량윤성(豆良尹城) 남쪽에서 진을 칠 곳을 살펴볼 때, 백제 사람들이 신라군의 진영이 정비되어 있지 않음을 보고 급히 공격하니 신라의 군사들은 놀라 무너졌다.
3월 12일에 대군이 고사비성(古沙比城) 밖에 주둔하고 두량윤성을 진공하였지만 한달 엿새가 되도록 이기지 못하였다. 4월 19일에 부득이 군사를 돌려서 빈골양(賓骨讓)으로 돌아오다가 백제군을 만나 싸웠으나 패하였다.
오직 의광과 상주장군(上州將軍) 문충(文忠)만이 백제군을 각산(角山)에서 격파하고나서 백제군의 진 안으로 들어가 2,000여명을 목베었다. 같은 해(문무왕 1)7월 17일에 낭당총관(郎幢摠管)에 임명되어, 8월에 문무왕이 당나라 군대와 연합하여 고구려를 치기 위하여 대군을 거느리고 시이곡정(始飴谷停)에 이르러 머물렀다.
이 때 백제의 유민들이 옹산성(甕山城 : 지금의 대전광역시 대덕구 장동 계족산성)을 차지하고 길을 막자 25일에 군사를 내어 공격하여 27일에 항복받았다. 이 전투에서의 공으로, 뒤에 논공행상을 할 때 관등이 일품(一品) 오르고 창[戟]을 하사받았다.