Em 7 de julho de 2010, Puyol marcou o único gol da vitória sobre a Alemanha, que classificou a Espanha para a final da Copa do Mundo de 2010. Sua última partida pela seleção, a centésima, ocorreu em partida amistosa contra o Uruguai em 6 de fevereiro de 2013.