본관은 함종(咸從). 자는 성우(性于). 어용인(魚用仁)의 아들이다.
1841년(헌종 7) 무과에 급제, 1864년(고종 1) 장단부사(長湍府使), 1866년 공충도병마절도사가 되었다. 1866년 프랑스 로즈(Roze,P.G.)함대가 강화도를 침략하였을 때 (병인양요) 병사를 이끌고 광성진(廣城鎭)을 수비하였다. 이어 회령부사가 되어 북쪽 변경지방의 비적을 토벌, 치안을 확보하였다. 또한 이 때 장시(場市)를 개설하는 등 변경 무역을 활성화하였다.
1871년 미국 아시아함대의 강화도 내침으로 신미양요가 발생하였다. 6월 1일 손돌목[孫乭項]포격사건이 발생해, 한미간에 최초의 군사충돌이 일어났다. 이를 보고하자 진무중군(鎭撫中軍)에 임명되어 광성보(廣城堡)로 급파되어 600여 명의 군사를 거느리고 광성보에 부임, 미군과 대치하였다.
6월 10일 미군은 강화도상륙작전을 전개, 초지진(草芝鎭)을 점거하였다. 6월 11일 덕진진(德津鎭)을 함락한 미군은, 마지막으로 광성보공략에 나섰다. 이 때 광성보에 수자기(帥字旗)를 게양하고 침공해 오는 미군을 격퇴할 태세를 취하였다.
미군은 광성보에 대한 수륙양면작전을 개시해서, 해상에서는 함포사격, 지상에서는 야포사격으로 초토화작전을 전개하였다. 드디어 광성보로 돌입한 미군과 어재연군 사이에는 육박전으로 치열한 전투가 벌어졌다.
어재연은 임전무퇴의 결의로 칼을 손에 잡고 적을 무찔렀고, 대포알 10여 개를 양손에 쥐고 적군에 던져 항전하다가 장렬하게 전사하였다.
병조판서지삼군부사(兵曹判書知三軍府事)에 추증되었으며, 시호는 충장(忠壯)이다.