Boris Johnson has said there are “mixed signals” from Russia, after it said it was pulling back some of its troops from near Ukraine.
The PM said talks between Russia and Western powers has shown “signs of a diplomatic opening” to avert conflict.
But he added latest intelligence on Russian military activity was “not encouraging”.
Russia denies it is planning an attack, despite having more than 100,000 troops at Ukraine’s border.
The build-up has brought increasingly grave warnings in recent days, with the UK joining the US in saying an invasion could come at any time.
Speaking to reporters after an emergency meeting of UK ministers to discuss the situation, Mr Johnson said Russia had shown an “openness to conversations” about resolving the crisis diplomatically.
‘Tough’ sanctions
But he added that intelligence on Tuesday showed Russian forces were “being brought closer to the border” with Ukraine.
Intelligence suggests Russia is also constructing field hospitals near the border, he added, in what could only be interpreted as “as preparation for an invasion”.
He said the West wanted to see a “programme of de-escalation” from Russia, and had a “very tough” set of sanctions “ready to go” in the event an invasion takes place.
He added that the UK was prepared to target Russian banks and companies, and stop them raising money on London’s financial markets.
He also said British ministers had made the “balanced decision” to keep the UK’s embassy open in Ukraine’s capital, Kyiv – after the US announced it was relocating its embassy operations to the western city of Lviv.
Mr Johnson said the UK had to “face the fact that there is a risk,” but added that keeping the embassy going “for as long as possible” is “an important symbol” of the UK’s continued support for Ukraine.
He also warned a programme of sanctions was ready to go if Russia did go ahead with an invasion – warning the UK was ready to target ownership of companies and the ability of Russians to raise capital on London’s markets.
Since 2015, the UK had sent dozens of troops to Ukraine to help train their armed forces.
But the remaining UK forces, consisting of about 100 personnel, are now out of Ukraine, the BBC has been told. Defence Secretary Ben Wallace is understood to have confirmed this to MPs on a briefing call on Tuesday afternoon.