Карлу I даже удалось срочно направить Руперта на помощь северным роялистам, действующим против шотландских войск. Однако вскоре произошло сражение при Марстон-Муре (2 июля 1644 года), где Кромвель во главе своего 26-тысячного драгунского отряда решил исход сражения блестящей победой над роялистами. Поражение при Марстон-Муре сразу же нейтрализовало благоприятно сложившуюся для Карла I обстановку, однако руководители парламента не воспользовались плодами этой победы. Среди них возникли разногласия, а в самом парламенте образовалась партия, настаивавшая на примирении с королем и на прекращении войны.
Многие парламентские генералы, стоявшие во главе отдельных армий, лишь номинально объединенных под властью лорда Эссекса, сознательно бездействовали, давая Карлу I возможность привести в порядок свои расстроенные войска.
Считая невозможным идти на какие-либо уступки королю, Кромвель с удвоенной энергией вступил в борьбу со своими противниками в парламенте. Настаивая на необходимости вести войну до конца, Кромвель не остановился перед прямым обвинением Манчестера и других генералов в преступной медлительности и в измене парламентскому делу. Указывая на всю опасность той организации парламентской армии, при которой каждый отряд, собранный на средства отдельных генералов, мог действовать почти независимо от других отрядов, Кромвель предложил создать единую парламентскую армию, общее командование которой было бы фактически сосредоточено в руках одного лица. Содержаться подобная армия должна была исключительно на средства государственного казначейства.
После долгой и трудной борьбы в парламенте Кромвелю удалось провести эту реформу. Кроме того, он добился принятия достаточно важного постановления, согласно которому члены обеих палат были лишены права занимать высшие военные должности. Это заставило всех членов парламента, противников Кромвеля, командовавших армиями, подать в отставку.
Главнокомандующим армии был назначен генерал Ферфакс, пригласивший к себе в помощники Кромвеля. Таким образом, новый закон не коснулся Кромвеля, и он, будучи членом палаты, остался фактическим руководителем армии.
Противники Кромвеля уже начали против него процесс, обвиняя его в двойной игре, однако новая блестящая победа при Нэзби 14 июня 1645 года, одержанная парламентской армией, заставила их замолчать.
В этом большом сражении парламентская армия проявила необыкновенную энергию и стойкость. Стремительными конными атаками и быстрыми переменами фронта кавалерии, общее командование которой было поручено Кромвелю, армия роялистов была смята, приведена в полное расстройство и обращена в бегство.
Однако война не только не прекратилась, но и затянулась еще на целый год. Карл I в конце 1647 года заключил тайный договор с шотландцами, которые обязались восстановить его неограниченную власть под условием, что пресвитерианство будет объявлено государственной религией, а индепендентство уничтожено. В конце апреля 1648 года стало известно, что шотландцы формируют армию для вторжения в Англию и оказания помощи роялистам. В этих условиях Ферфакс подготовился для похода на север с целью предупреждения шотландского наступления, а Кромвель был направлен для подавления мятежа Пемброка. Выступления роялистов в Кенте и Восточной Англии вынудили Ферфакса задержаться в этих районах, в то время как наступление шотландцев на севере продолжало развиваться.
Лишь после разгрома Пемброка (11 июля 1648 года) Кромвель смог выступить на север. Но вместо того чтобы двинуться прямо на шотландцев, он осуществил глубокий обход через Ноттингем и Донкастер, пополняя по пути свои запасы. Затем он пошел в северо-западном направлении на соединение со своим помощником Ламбертом, действующим против шотландцев.
Силы шотландской армии располагались на линии от Уигана до Престона и насчитывали 20 тысяч человек. Ее левый фланг прикрывал корпус под командованием Лагдейля (3, 5 тысячи человек).
Силы Кромвеля были значительно меньше, чем силы шотландцев, – всего 8, 5 тысячи человек, включая кавалерию Ламберта и Йоркширскую милицию. Зайдя в хвост шотландской колонне в районе Престона, Кромвель смог нарушить ее походный порядок, заставив ее развернуться в обратную сторону, чтобы отразить наносимые ей удары. Таким образом, Кромвелю удалось разгромить корпус Лагдейля. Затем, ведя неотступное преследование, Кромвель смял шотландскую колонну и заставил ее отходить через Уиган на Юттокситер, где, скованная милицией центральных графств, она 25 августа 1648 года капитулировала. Англия была очищена от шотландцев.