본관은 능성(綾城), 자는 여선(汝先)이다. 호조좌랑(戶曹佐郞) 구유관(具有寬)의 현손(玄孫)이다.
구원일의 초기 관력(官歷)은 확인되지 않는다. 강직하면서 스스로의 행실을 삼가는 성품을 가지고 있었고, 일찍이 무과에 급제하였으나 오래도록 쓰이지 못하다가 강화부의 우부천총으로 기용되었다고 한다. 1636년(인조 14) 12월, 청군(淸軍)이 침입하자 국왕 인조 일행은 강화도로의 파천(播遷)을 시도하였으나 실패하고 남한산성에 들어갔다.
그에 따라 강화도에는 봉림대군(鳳林大君)을 비롯한 왕실 구성원들과 신료들의 가족들이 들어갔으며, 강도검찰사(江都檢察使) 김경징(金慶徵)과 검찰부사(檢察副使) 이민구(李敏求), 강화유수(江華留守) 장신(張紳) 등이 강도(江都)의 방비를 총괄했다. 그러나 이들은 강화도를 ‘천참(天塹)’으로 여겨 방비를 엄히 하지 않았다.
1637년(인조 15) 1월 21일 여러 장수들에게는 3일의 휴가가 주어졌는데 구원일은 집으로 가 있다가 청군이 공격한다는 소식을 듣고 가족과 이별한 뒤 갑곶진으로 돌아갔다. 이때 청군은 이미 근접하고 있었고 포탄을 비처럼 쏘아대며 상륙하려고 하였다. 이에 김경징, 장신 등은 적극적으로 대적할 뜻이 없었고 도주부터 하려고 하였다. 구원일은 분개하여 장신을 참하고 배에서 내려 육박전을 벌이고자 하였으나, 장신이 이를 가로막으므로 통곡하며 스스로 바다에 몸을 던져 죽었다. 그의 나이 56세였다.
당시 구원일과 함께 끝까지 적을 막고자 하였던 강화도의 중군(中軍) 황선신(黃善身)과 좌부천총(左部千摠) 강흥업(姜興業)은 진해루(鎭海樓) 밑에서 청군과 전투를 벌이다가 순절하였는데, 이들을 두고 훗날 강도삼충(江都三忠)이라고 불렀다.
1640년(인조 18) 강화도의 사민(士民)들이 사당을 세워 김상용(金尙容), 이상길(李尙吉), 심현(沈誢), 이시직(李時稷), 송시영(宋時榮)과 함께 구원일을 기렸다. 1643년(인조 21)에는 구원일의 의로운 죽음에 대한 포상 지시가 있었다. 1651년(효종 2)에는 중군 황선신이 추가로 배향되었고 이후에 강흥업도 추향되었다. 1657년(효종 8) 충렬(忠烈)로 사액되었는데, 삼충사(三忠祠) 혹은 삼충단(三忠壇)이라고도 하였고, 강도사(江都祠)로 기록된 경우도 있다.
구원일은 충렬사에 가장 먼저 배향되었지만, 증직(贈職)은 가장 늦었는데, 이는 자손이 적었기 때문이다. 1664년(현종 5) 강화유수 조복양(趙復陽)이 이를 아뢰었고, 구원일은 병조참의(兵曹參議)에 증직되었다. 1725년(영조 1)에는 삼충사(충렬사)에 사제(賜祭)하였다. 1763년(영조 39)에는 강화유수 정실(鄭實)이 올린 장계에 따라 구원일‧황선신의 자손을 변장(邊將)에 제수하는 조치가 있었다.