The northern Iraqi city is held by the group known as Islamic State (IS).
Enemy forces fired two rockets into a base where US troops are training the Iraqi military, officials said.
It is the second time an American soldier has been killed in combat in Iraq since US forces re-entered the country in late 2014.
The last US serviceman was killed by enemy small-arms fire in an October raid to free about 70 hostages held by IS in northern Iraq.
Saturdays's attack took place at the Makhmur base, where Iraqi troops are reported to have built up their numbers in preparation for an assault on Mosul.
US officials say only a "small number" of American troops were wounded in the attack, but the Pentagon declined to give further details.
A Department of Defense statement on Friday said that US forces are helping their Iraqi counterparts "to isolate [the Syrian city of] Raqqa from Mosul and deny IS freedom of movement between the two important cities".
A US marine has been killed and several other American servicemen injured by rocket fire outside the city of Mosul, the Pentagon has said.