Im Anschluss an die WM 2006 und die „Ära Eriksson“ wurde er von Nachfolger Steve McClaren zum Vizekapitän hinter John Terry ernannt und vertrat ihn in dieser Rolle, als England durch Niederlagen in Qualifikationsspielen gegen Russland (1:2) und Kroatien (2:3) das Endrundenturnier der Euro 2008 in der Schweiz und Österreich verpasste. Als Konsequenz daraus entschied die Football Association den Vertrag mit McClaren vorzeitig aufzulösen und im Dezember 2007 Fabio Capello als neuen englischen Nationaltrainer einzusetzen. Unter Capello behielt Gerrard zunächst das Kapitänsamt, bevor sich der Italiener für Terry entschied und später sogar Rio Ferdinand zum Ersatzkapitän beförderte. Wiedererstarkt qualifizierte sich England sicher für die WM 2010 in Südafrika. Dabei nahm Gerrard auch persönlich mit zwei Toren zum 5:1-Sieg erfolgreich Revanche an Kroatien. Beim WM-Endrundenturnier selbst war er plötzlich wieder Kapitän der „Three Lions“, nachdem Terry in dieser Funktion abgesetzt worden war und sich Ferdinand im Trainingslager verletzt hatte. Die hohen Erwartungen der Fans an die englische Mannschaft, die nach der sehr erfolgreichen Qualifikation aufgekommen waren, wurden jedoch während des Turniers nicht erfüllt, da die „Three Lions“ zuerst mit zwei Unentschieden in der Gruppenphase als Gruppenzweiter in die K.o.-Runde einzogen und danach mit der bislang höchsten WM-Niederlage im Achtelfinale an Deutschland (1:4) scheiterten.