임진왜란 때 청주성을 점거한 일본군은 충청우도 지방으로 진격하려 하였다. 그러나 청주방어사 이옥(李沃), 조방장(助防將) 윤경기(尹慶祺)의 관군은 잇따라 패퇴하여 연기지방에 있었고, 오직 영규(靈圭)의 승군(僧軍) 수백명이 한동안 일본군과 대치하고 있었다.
형강(荊江 : 금강중류)에서 이 소식을 들은 조헌은 곧 의병군을 이끌고 청주로 향하면서, 이옥에게 적군을 함께 물리치자고 재촉하였으나 관군은 움직이지 않았다. 조헌의 의병군은 영규의 승군과 합세하여 이날 청주성 서문 쪽으로 공격하자 일본군은 크게 패하여 성안으로 도망치고, 이날 밤 그들의 시체를 거두어 불태우고, 깃발을 세워 군대가 안에 있는 것처럼 꾸민 뒤 북문으로 빠져 도망쳤다.
이 전투에서 의병군은 죽기를 다하여 싸워 일본군을 물리칠 수 있었으나 적군의 탄환에 맞아 많은 부상자가 생겼다. 그뒤 충청좌도에 주둔하고 있던 일본군은 이 소식을 듣고 모두 달아났다. 한편, 조헌은 청주의 일본군을 격파한 뒤 상소문을 지어 아들 완도(完堵)와 문인 전승업(全承業)을 시켜 행재소(行在所 : 義州)에 가서 올리게 하였다.