Władysław Szpilman (Adrien Brody) es un pianista polaco de origen judío que trabaja en la radio de Varsovia cuando da comienzo la invasión nazi de Polonia el 1 de septiembre de 1939, así como la invasión soviética 26 días después de la invasión nazi. La URSS estaba aliada con Hitler por el pacto Ribbentrop-Mólotov, que terminó con el ataque de Alemania a la URSS el 22 de junio de 1941. Después de que la estación de radio donde estaba trabajando sea bombardeada, Szpilman llega a su casa, donde se entera de que el Reino Unido y Francia le han declarado la guerra a Alemania. Creyendo que la guerra se acabará pronto, él y su familia se alegran por la noticia y la celebran con una gran cena.
Meses después, las condiciones de vida para los judíos en Polonia se han ido deteriorando rápidamente, y se han reducido sus derechos: tienen limitada la cantidad de dinero por familia, han de llevar brazaletes con la Estrella de David (מגן דוד, Maguén David) para ser identificados y, a finales de 1940, son obligados a trasladarse al Gueto de Varsovia. Ahí se enfrentan al hambre, a las persecuciones y humillaciones que los nazis llevan a cabo, además del miedo a la muerte y las torturas, que siempre están presentes. Después de un tiempo, los judíos son reunidos y deportados al campo de exterminio de Treblinka. En el último minuto, Szpilman es salvado de ese horrible destino por Itzhak Heller, un policía del gueto judío, antiguo amigo de la familia. Separado de sus familiares y seres queridos, Szpilman sobrevive, primero en el gueto como esclavo obrero de unidades de reconstrucción alemanas y posteriormente escondido en el exterior del gueto, confiando en la ayuda de amigos que no son judíos y que todavía lo recordaban, entre los que se encontraban Janina, una cantante; Andrezj, un actor, esposo de Janina y miembro de la Resistencia; Marek, miembro también de la resistencia; Dorota, una antigua admiradora, y su esposo Michal; y Atek Szalas, antiguo técnico de Radio Varsovia y miembro de la resistencia.
Mientras se mantiene escondido, presencia los muchos horrores cometidos por los nazis, como las palizas, incendios y matanzas indiscriminadas. Asimismo, atestigua el Levantamiento Del Gueto de Varsovia de los judíos en 1943. Tras una desesperada resistencia, el ejército alemán entra por la fuerza al gueto y elimina a casi todos los rebeldes que quedaban.
Pasado un año, la vida en Varsovia se ha deteriorado más todavía. Ante la proximidad del Ejército Rojo, la resistencia polaca organiza un levantamiento contra la ocupación alemana que es duramente reprimido. Como consecuencia, la ciudad queda virtualmente deshabitada y en más de una ocasión, Szpilman está al borde de la muerte debido a las enfermedades y la desnutrición.
Después de una frenética búsqueda de algo que comer por las ruinas de las casas bombardeadas y escapando de los nazis, Szpilman encuentra una lata de pepinillos Ogorki en conserva, pero nada para poder abrirla. Después de continuar buscando, encuentra algunas herramientas junto a la chimenea e intenta abrirla, pero entonces se da cuenta de que un oficial alemán le observa, el capitán Wilm Hosenfeld que al instante se da cuenta de que Szpilman es judío. Al enterarse de que había sido pianista, Hosenfeld le lleva hasta un piano y le pide que toque algo. En ese momento un decrépito Szpilman ejecuta una desesperada pieza de Chopin (la primera balada Op. 23 en sol menor) ante un Hosenfeld que se compadece de él y, a la vez muestra su admiración tras la interpretación, de manera que no solo no le delata, sino que le esconde en el ático del edificio, le lleva un abrelatas y comienza a llevarle comida con regularidad.
Semanas después, los alemanes son forzados a retirarse de Varsovia debido al avance del Ejército Rojo. Antes de abandonar la zona, Hosenfeld acude a despedirse de Szpilman y le da su abrigo, y le promete que le escuchará en la radio polaca. Una mañana, Szpilman se despierta y ve un camión entonando el himno nacional de Polonia anunciando el fin de la barbarie, corre apresuradamente a la calle pero el abrigo casi resulta ser fatal para Szpilman cuando aparecen las tropas polacas y soviéticas, ya que lo confunden con un oficial alemán y le disparan y persiguen en un edificio, donde le lanzan una granada. Solo consigue que dejen de disparar tras convencerlos de que es polaco y que sólo lleva el abrigo a causa del frío.
Paralelamente, en un campo de concentración cercano, el capitán Hosenfeld y otros alemanes son capturados. Mientras está retenido, Hosenfeld le pide a un antiguo prisionero judío que pasaba por allí que contacte a Szpilman para liberarle. Szpilman, que ha retomado su vida de antes tocando en la radio de Varsovia, llega al lugar demasiado tarde, ya que todos los prisioneros de guerra han sido trasladados a destinos desconocidos.
En la escena final de la película, Szpilman interpreta triunfalmente una pieza de Chopin (la Polonesa Brillante en Mi Mayor op. 22) frente a una gran audiencia en Varsovia. Antes de los créditos finales, se revela que Szpilman falleció en el año 2000 y Hosenfeld en 1952 en un campo de prisioneros de guerra soviético.