Russian forces have Mariupol surrounded 10 to 1, but Putin doesn't want a quick victory. He can't achieve a quick victory, but even if he can he doesn't want it. A quick victory has lower propaganda values as a slower victory. He just ordered his forces to surround it, but not storm it. Ukrainian forces in Mariupol will plea for help, and he would broadcast it. But they won't get it. It's too costly to resupply them. Some forces will surrender and others will plea for help again. And again Putin will broadcast it, but they won't get it. He doesn't need to achieve any more significant battlefield victories after this if Mariupol could be used for longer propaganda purposes.
The only way to stop this would be to go in with a large enough force to fight back. Send NATO troops to Kyiv as peacekeepers to free up Ukrainian troops to go on offensive.