The 23-year-old victim, whose name and hometown have not been publicly released, was bitten while diving in Magdalena Bay, located near Baja California Sur off northwestern Mexico, according to the Mexican Navy.
The man was able to swim on his own back to his charter boat in the Pacific near San Carlos and call for help, officials said.
The navy sent a boat to retrieve the man and took him to a local hospital for treatment. His injury was not considered life-threatening.
Officials didn’t release any information on the species of shark involved in the attack.
Shark attacks in Mexico have been seen as relatively uncommon. There have been at least 39 confirmed unprovoked shark attacks in Mexico since 1907, according to the Florida Museum’s International Shark File.
The southern state of Guerrero ranked first on the list with 11 confirmed reports, followed by Veracruz with nine and Quintana Roo with eight, according to the data.
Baja California Sur was listed fifth, with two attacks.
The Associated Press contributed to this report.