Przyczyną bitwy pod Oliwą był fakt, iż Szwedzi zablokowali ujście Wisły, w związku z czym uniemożliwili wywóz zboża z kraju. Zaatakowali również całe Pomorze Gdańskie. Bitwa pod Oliwą była zwycięskim dla Polski starciem morskim, które pokazało, że flotę szwedzką da się pokonać.
Zwycięstwa w bitwie pod Oliwą nie wykorzystano i podpisano niekorzystny rozejm w Starym Targu, na mocy którego Szwedzi pobierali opłaty za statki wpływających do polskich portów. Nie odzyskano również Inflant.