Born in Barreiro, Setúbal, Carvalho started playing football with local Luso Futebol Clube, transferring in 1958 to national powerhouse Sporting Clube de Portugal where he remained for the following 12 years, winning five major titles. He was in goal as the Lisbon side defeated MTK Budapest FC to conquer the 1963–64 edition of the UEFA Cup Winners' Cup.
Carvalho played 251 games with his main club, friendlies included. He retired in 1972 at the age of 35 after a spell with neighbouring Atlético Clube de Portugal, subsequently returning to the Lions as a goalkeeper coach.
Selected for the finals in England he featured in the opener against Hungary (3–1 win in Manchester), but lost his place to C.F. Os Belenenses' José Pereira for the remainder of the tournament, with the country finishing in third place.