Le territoire de La Rochelle a été occupé dans l'Antiquité par la tribu gauloise des Santones, qui a donné son nom à la région voisine de la Saintonge et à la ville de Saintes. Les Romains occupent ensuite la région, où ils développent la production de sel le long du littoral ainsi que la production de vin, réexportée ensuite dans tout l'Empire. Des villas romaines ont été retrouvées à Saint-Éloi et aux Minimes, ainsi que des marais salants datant de la même époque.
Lors de la guerre de Cent Ans en 1360, suite au traité de Brétigny, La Rochelle devient anglaise. La Rochelle expulse cependant les Anglais en juin 1372, à la suite de la bataille navale de La Rochelle, entre une flotte castillane-française et une flotte anglaise. Les Espagnols possédaient 60 navires et les Anglais 40. Ils avaient également plus de chevaliers et d'hommes que les Anglais. Les Français et les Espagnols ont vaincu les Anglais de manière décisive, assurant le contrôle français de la Manche pour la première fois depuis la bataille de Sluys en 1340. La bataille navale de La Rochelle a été l'un des premiers cas d'utilisation d'armes de poing sur des navires de guerre, qui ont été déployés par les Français et les Espagnols contre les Anglais.[11] Ayant recouvré sa liberté, La Rochelle refusa l'entrée à Du Guesclin, jusqu'à ce que Charles Quint reconnaisse les privilèges de la ville en novembre 1372.
En 1864, le port de La Rochelle (zone du Bassin à flot derrière les écluses), fut le lieu des premières expériences de plongée du premier sous-marin à propulsion mécanique au monde, le Plongeur, commandé par Marie-Joseph- Camille Doré, originaire de La Rochelle. Durant la Seconde Guerre mondiale, l'Allemagne établit une base navale sous-marine à La Pallice (le port principal de La Rochelle). Place forte allemande, La Rochelle fut la dernière ville française libérée à la fin de la guerre. Le siège allié de La Rochelle a eu lieu entre le 12 septembre 1944 et le 7 mai 1945 ; la place forte, comprenant les îles de Ré et d'Oléron, était détenue par 20 000 soldats allemands sous le commandement du vice-amiral allemand Ernst Schirlitz. Suite aux négociations du capitaine de frégate de la marine française Meyer et à la capitulation générale allemande le 7 mai, les troupes françaises entrent à La Rochelle le 8 mai.