Muhammad Shahid played hockey for India at the 1980, 1984, and 1988 Olympics, winning a gold medal in 1980. He was first noticed internationally in 1979 when he starred for India in a match against France at the Junior World Cup. At a later four-nation tournament in Malaysia, his skill brought him to the attention of the national selectors, which led to his being named to the 1980 Olympic team. Shahid also won two medals at the Asian Games, silver in 1982 and bronze in 1986. He captained the Indian national team in 1985/86, received the Arjuna Award in 1981, and was given the Padma Shri in 1986. After his playing career ended Shahid worked with Indian Railways.