I felt you did pretty well overall. Losing your supply, as you did for a couple of turns in the middle and then at the end is often quite devastating, so not bad that you managed to complete in 9. Rostov is one of the easier ones and it is possible to do it in 6 if you are really going for it!
Few pointers (though a lot of them aren't significant issues for you, they are things that popped into my head while watching the replay and are probably good general tips):
* Soviet units are generally weaker than German, so it can be best to bolster the stronger units to make them actually dangerous, rather than to take weaker units and make them...less weak (e.g. you added tank pips to 4-step regular tanks, when you could have put those on larger/veteran/mechanised units)
* If you've cut off a unit that is tough, don't attack it, but let it starve. By pinning it with just two units on opposite sides, it can't escape unless it can destroy one of the pinning units in one turn (assuming you control the surrounding hexes, of course).
* Remember that if you aren't attacking, you can use the action as a bonus move. It can be better to use extra movement to cut off supplies than it can be to attack with that unit (especially true of cavalry).
* Move your back units into attack first, then your units that started closer to the enemy can move through them behind the enemy lines. If you move the closest ones first, then the ones at the back can't manage that.
* Just as the AI is mad for taking the Chir bridges to cut you off, you can cripple his assault by taking the Donets bridges.
* Although you cut off the German supplies in the Northwest (Turn 5), there were no units actually using them by then; you'd killed them all by then! That could have been very useful if you'd placed men on the other bridges over that Donets. In turn 5 I probably would have tried to move something to the Southern of the 3 bridges over the Donets, to cut the remaining troops off. As I said before, once you've cut people off, you don't have to attack them any more, so you can just defend with infantry there and let the tanks rush forward.
* If you can, cross a river before you attack defenders over the river. Plan the previous turn so your strongest pieces are able to attack while your weakest can stop the defenders from attacking back over the river. Intentionally going one turn without supply (such as when crossing a river), when you know you can open the supply again next turn, is something you need to get used to since it allows you a lot more tactical options.
* In turn 6 you retreat a 1-step tank with a tank specialist. Should have reorganised the steps to your force pool, since it would never be useful again. I do that with all 2-step (weak) units and often with 3s, and even sometimes 4s, depending on the circumstances (sometimes having more units can be better than having a few stronger ones).
* Remember that even a completely starved unit can capture an enemy supply base (and is safe if the enemy has nothing to use to counterattack!).
* The AI adding a heavy tank to the infantry defending the objective city was unlucky. On the other hand, the AI did throw away a tank, coming over the river to attack when river defence was more sensible! Sometimes the AI randomly chooses to put a significantly strong unit in an objective rather than using it in the main battle in the open (particularly annoying is elite mechanised SS, which are pretty much bullet-proof when defending in a city
). Maybe next time they'll defend with green troops instead. Ah, the joys of luck ;P
* On Rostov, always remember to capture that little corner of the supply railway, down at the South-east, before you cross the river, otherwise you'll be doomed (Your rail supplies can then fill up the rest of the map that your Northern supplies can't reach). I've been caught out by that before myself!