The mobilisation is the first since World War Two and comes after Ukraine made gains in a rapid counter-offensive this month, putting the Kremlin on the back foot.
Ukrainian forces have recaptured key towns and villages in the northern Kharkiv region and have made a slower, but still significant progress in the southern Kherson region. Russia, however, still holds about a fifth of the country.
The decree is short on detail. It says nothing about a cap on numbers or about any exceptions, such as not recruiting students or conscripts.
Instead, it is left to regional heads to decide how to meet quotas. In theory, the net could be cast far wider than the Kremlin has specified.
The call-up stops short of full conscription, a move that would have risked turning a public that has so far largely been in favour of the conflict against it.
"When the territorial integrity of our country is threatened, we will certainly use all the means at our disposal to protect Russia and our people. It's not a bluff," he said.
Mr Putin's address has raised fears that some men of fighting age would not be allowed to leave Russia, even though Russia's Defence Minister Sergey Shoigu said the call-up would be limited to those with combat experience.
One Russian man told the BBC that the move means "nothing guarantees that martial law won't be declared at some point in the future. And then it'll be really impossible for anyone to do anything at all".
There has also been a strong reaction on social media. One Twitter user wrote: "I'm not going to go to war, go screw yourselves. Not only will I surrender right away, I'll also show you the way to the Kremlin."