Это не могло в итоге не привести к катастрофе — по мере продвижения немцев к Ла-Маншу панические настроения среди личного состава корпуса нарастали, и в конце мая 1940 года плотина рухнула. Британцы начали движение к спасительному проливу, за которым их ждали родные берега. Отступление было беспорядочным — дороги, забитые вперемешку беженцами и бегущими войсками, брошенный по обочинам транспорт. Офицеры, бросившие свои части, бежали первыми, невзирая на прямой приказ до последнего оставаться на посту. Стало понятно, что то, что нельзя остановить, придётся возглавить — и был отдан приказ об организации эвакуации британских военнослужащих и их союзников из зоны боевых действий. Сначала речь шла только о вывозе вспомогательного персонала, но быстро стало ясно, что эвакуировать придётся всех.
Приготовления к эвакуации начались 20 мая. Командующим был назначен вице-адмирал Бертрам Рэмси (в некоторых источниках фамилию транскрибируют как Рамсей). Сама эвакуация получила название "операция «Динамо»" в честь генератора (динамо-машины) Дуврского замка — именно в генераторной Рэмси составил план операции и обсудил его с Черчиллем, оттуда же он ей и командовал.
Одной из загадок битвы при Дюнкерке остаётся приказ, отданный Гитлером — приказ об остановке наступления, который дал британцам время на проведение операции «Динамо». Не дойдя буквально нескольких километров, немецкие наземные войска остановились и заняли оборону, прижав остатки английских войск (совместно с некоторым количеством французских) к берегу в районе города Дюнкерк. Огромная масса солдат оказалась запертой в городе и на прилегающих к нему песчаных пляжах. Отдельные исследователи даже высказывают гипотезу о том, что фюрер специально приостановил карающий меч, чтобы не слишком настраивать против себя британцев — мол, цивилизованные белые люди же, не низшая раса. Однако вероятность справедливости подобной трактовки крайне мала. По крайней мере, жалеть англичан точно никто не собирался, так как окружённых на протяжении всей эвакуации непрерывно бомбили. В первый же день массированным налётом был уничтожен дюнкеркский порт. Значительная часть бомб попала и на город — число жертв среди мирных жителей, согласно некоторым источникам, достигало тысячи человек, около трети от всего оставшегося на тот момент в городе населения. Городской водопровод был повреждён бомбами, что сделало невозможным тушение пожаров, и Дюнкерк выгорел практически полностью. Скопившихся на пляжах солдат немцы бомбили и расстреливали из бортовых пулемётов. Британская авиация оказывала максимально возможную помощь — только за первый день прибывшей с противоположного берега «кавалерией» было сбито 38 немецких самолётов. Всего за время эвакуации британцы смогли уничтожить 145 вражеских самолётов ценой потери 156 своих, ещё 35 немецких самолётов было уничтожено зенитной артиллерией с кораблей.
Наиболее вероятной причиной остановки немецких войск в настоящее время считается желание избежать лишних потерь. Загнанные в угол французы и британцы явно собирались отчаянно сопротивляться до последнего, Геринг же обещал расправиться с окруженцами исключительно при помощи ударов с воздуха, и эта перспектива показалась фюреру заманчивой. Впоследствии Гудериан и Манштейн считали приказ об остановке наступления одной из наиболее критичных ошибок Гитлера, а Рундштедт называл его «одним из ключевых моментов войны».
Как бы то ни было, передышка оказалась для англичан спасительной. Эвакуацию начали 27 мая — для неё к побережью возле Дюнкерка было подведён британский лёгкий крейсер «Калькутта», восемь эсминцев и двадцать шесть транспортных судов. Проблема была в том, что берег в том месте пологий и песчаный, поэтому отмели простираются на большие расстояния под водой, делая невозможным подход крупных кораблей непосредственно к линии прибоя. Для перевозки людей с пляжей на корабли Адмиралтейство буквально прочесало все окрестные британские порты, отмобилизовав все малые суда, до каких только смогли дотянуться. Это был самый пёстрый и разнообразный флот, какой только можно себе представить — в него входили и прогулочные катера, и портовые буксиры, и рыболовецкие лодки, и даже личные парусные яхты. Впрочем, как быстро выяснилось, отмели не позволяли подойти к берегу даже этим небольшим судам.
Солдатам приходилось несколько сот метров идти от линии прибоя вброд, иногда до штормтрапа катера они добирались по шею в воде. Для борьбы с подобными затруднениями офицеры на местах прибегали к различным ухищрениям. Например, во время отлива выгоняли на обнажившееся дно автомобили, выстраивая их в цепочку, направленную к морю, и укладывая на их крыши наспех сколоченные деревянные мостки. В порту Дюнкерка причалы были разрушены немецкими бомбардировщиками, но уцелели два бетонных мола, каждый из которых выдавался в море больше, чем на километр — их и стали использовать для погрузки.
Ото дня ко дню количество задействованных в операции кораблей и судов росло — всего в «Динамо» приняли участие 693 британских плавсредства. В это число входили упомянутый ранее крейсер «Калькутта», 39 эсминцев, 36 тральщиков, 13 торпедных катеров и охотников, 9 канонерских лодок. Малых судов (без учёта шлюпок и катеров, принадлежащих большим кораблям и судам) было 311. Помимо этого, помощь в эвакуации оказывали и корабли иных союзников (в основном французские) — их насчитывалось 168, в том числе 49 боевых. Занимать внутренние помещения на кораблях солдаты по большей части отказывались из страха не успеть выбраться, если корабль начнёт тонуть, поэтому занимали палубы и надстройки, набиваясь, в самом буквальном смысле, как сельди в бочку. Там, где солдаты добирались до кораблей на лодках, они нередко бросали лодку, достигнув цели. Никто не хотел возвращаться на берег даже ненадолго — поэтому оставшимся на пляже приходилось ждать, пока пустую лодку прибьёт к берегу ветром. Из-за описанных выше затруднений с погрузкой практически всё тяжёлое имущество было оставлено на берегу. Фактически, солдаты не брали с собой ничего, кроме одежды — многие бросали даже оружие и ранцы с личными вещами. Всего британцами было оставлено 455 танков, более 80 тысяч автомобилей, мотоциклов и другой техники, две с половиной тысячи пушек, 68 тысяч тонн боеприпасов, 147 тысяч тонн горючего и 377 тысяч тонн прочих припасов.
Загруженные корабли, покидавшие Дюнкерк, шли к Британским островам тремя маршрутами, носившими условные обозначения «X», «Y» и «Z». Самым коротким был маршрут «Z» (всего 72 км), корабли преодолевали его в среднем за два часа, но он пролегал вдоль французского берега, и следовавшие им корабли на протяжении значительной части пути подвергались обстрелу немецкой артиллерии с суши. Маршрут «X» был самым безопасным, хотя и заметно длиннее (105 км), однако он пролегал в непосредственной близости от ряда мелей и минных полей, из-за чего не мог использоваться ночью. Маршрут «Y» был самым длинным (161 км, четыре часа пути) — он проходил в стороне от мин и пушек, но следовавшие им корабли постоянно подвергались атакам немецкого флота и авиации. Всего было потеряно более четверти кораблей из участвовавших в эвакуации — 243 из 861.
Первоначально предполагалось, что затишье в немецком наступлении продлится не более сорока восьми часов. За это время планировалось спасти 45 тысяч человек. Фактически план был сорван (в первый день было вывезено чуть более семи с половиной тысяч человек, во второй — немногим менее восемнадцати тысяч, то есть суммарно около 25 тысяч вместо запланированных сорока пяти), но немцы продолжали стоять на месте, атакуя союзников лишь с воздуха, и эвакуация постепенно набрала обороты — 29 мая было вывезено более 47 тысяч человек за один день, за последующие два дня эвакуировались более 120 тысяч человек.
31 мая немцы нажали, и «дюнкеркский карман» существенно сжался. 1 июня было эвакуировано 64 тысячи человек. 2 июня отбыли британские силы прикрытия, оборонявшие Дюнкерк. На континенте остались лишь французы — их тоже вывозили, но не в первую очередь. 3 июня воздушные налёты стали гораздо интенсивнее, и дневные рейсы пришлось прекратить. В ночь с третьего на четвёртое удалось эвакуировать около 53 тысяч союзных бойцов, но четвёртого немцы, наконец, пошли в наступление, и операцию пришлось завершить. Последний корабль, британский эсминец «Сикарий», покинул французский берег в 3:40 утра 4 июня с приблизительно девятью сотнями эвакуированных на борту. Две французских дивизии, оставленные прикрывать периметр, были брошены на произвол судьбы и вынуждены были сдаться.
Итогом операции «Динамо» стало спасение более чем трети миллиона солдат и офицеров – то есть, фактически, всего Британского экспедиционного корпуса во Франции (его общая численность составляла около 400 тысяч человек). Утрата практически всей техники и значительного числа вооружения, конечно, сильно ударила по боеспособности британской армии, но сохранение большой массы личного состава – кадрового, обученного, слаженного и, самое главное, обладающего реальным боевым опытом – практически полностью это компенсировало. Вдобавок, не стоит и упоминать о том, какое мощное воздействие было оказано на моральное состояние населения Великобритании. Парни вернулись домой целыми и невредимыми, а не сгинули бесславно на чужой стороне – на этом фоне и потеря танков с пушками воспринималась как досадная мелочь. Танков, мол, можно и новых наделать. Поскольку предшествующие эвакуации разгром и паническое бегство британскими СМИ, по понятным причинам, не освещались, произошедшее имело в глазах гражданских героический оттенок. Дескать, пострадали от врага, но не дали себя убить и в плен не сдались, так что позже смогут вернуться и как следует отомстить. В оборот английского разговорного языка даже вошло выражение «дюнкеркские настроения» («Dunkirk spirit»), обозначающее единодушное сплочение народа перед лицом страшной угрозы. Неизвестно, возникло ли оно естественным образом или было привнесено пропагандой, но в словарях значится.
Об эвакуации британцы помнят до сих пор, именуя её «Чудом при Дюнкерке». В её память был учреждён специальный «дюнкеркский» флаг, право поднимать который имеют только гражданские суда, участвовавшие в операции «Динамо». Таковых до сегодняшнего дня дожило несколько десятков, они регулярно принимают участие в торжествах, посвящённых годовщинам эвакуации.