El 25 de Noviembre, Spee rodeó el Cabo de Hornos y se dirigió confiado a Puerto Stanley, ignorando la presencia de los poderosos acorazados británicos. Por su parte, los británicos también desconocían el paradero de los alemanes y pensaban zarpar hacia Chile el 9 de Diciembre con el fin de encontrarlos.
La madrugada del 3 de Diciembre de 1914, la escuadra alemana avanzó confiada hacia las Islas Malvinas. El plan de Spee consistía en desembarcar una avanzadilla de infantería en la costa para apoderarse de la estación telegráfica de la isla y luego bombardear el puerto y hundir los navíos allí anclados. Las primeras acciones correspondieron al Nurnberg y al Gneisenaug. Al acercarse a Stanley los alemanes divisaron el faro de la entrada del puerto junto con una inesperada sorpresa: la presencia de más columnas de humo de las esperadas.
Un nuevo vistazo al acercarse a la costa permitió a los alemanes apreciar que, efectivamente, había navíos de guerra dentro de la bahía, por lo que el Gneisenau suspendió en ese momento la operación de desembarco y ordenó al Nurnberg atacar al buque situado más lejos del puerto. Los británicos, que ya habían descubierto la avanzada alemana, dispusieron el Kent para el combate, el único que en ese momento tenía las calderas encendidas y estaba en condiciones de entablar batalla. Pero cuando el Kent ya rebasaba la salida del puerto, los navíos alemanes, con los cañones listos para entrar en combate, recibieron la insólita orden de Spee que les ordenaba «rehusar el combate».
Los barcos alemanes dieron entonces la vuelta y se reunieron con el grueso de la escuadra, perdiendo quizá una gran oportunidad de obtener el triunfo. Tras divisar los mástiles del Inflexible y el Invincible, los alemanes se retiraron a toda máquina hacia el este. Los marinos británicos, ya recuperados de la sorpresa inicial, tardaron aún dos horas en ponerse en condiciones de marcha. La batalla tuvo entonces dos frentes: los navíos alemanes Schamhorst y Gneisenau se enfrentaron al Invincible, Inflexible y al Carnavon, mientras que el resto fueron perseguidos por el Kent y el Glasgow. La distancia inicial de 20 millas fue rápidamente acortada. El Leipzig fue pronto alcanzado y se abrió fuego sobre él. Esto hizo que el Dresdenpasase a segundo plano y pudiese huir gracias a su mayor velocidad. Spee ordenó entonces a los cruceros ligeros separarse y huir, siendo el Dresdenel que en ese momento se encontraba más alejado. Por su parte, Spee dispuso que los cruceros acorazados cambiaran el rumbo hacia el sur, siempre perseguidos por los acorazados británicos.
Siete horas después, la persecución todavía continuaba. A 7 millas de Port Stanley, el Schamhorst recibió una salva del Invincible sobre un lateral, sin que eso le hiciese demasiado daño. Sin embargo, a las 15 horas, recibió nuevamente una nueva andanada que destruyó la cubierta y creó vías de agua, por lo que comenzó a hundirse lentamente. Una hora después, en un último esfuerzo, el Schamhorst intentó acortar distancias, acercándose escorado y semihundido hacia el Invincible con la intención de responder al fuego, pero la proa se metió bajo el agua y el barco acabó hundiéndose de morro con las hélices todavía girando. El almirante Maximilian Von Spee y los 795 hombres de la tripulación quedaron atrapados en el buque y se hundieron con él. Mientras tanto, el Gneisenau, navegando más adelante y con el teniente Heinrich Von Spee (hijo del almirante) a bordo, asistió impotente al fin del buque insignia alemán.