I was partial to the choke off the shields tactic until I met my first large fundy in deity. I was dissapointed when this no longer worked ( I also watched the AI boot off that wave of attackers with an actual, effective counter attack, ouch). The painful defeat made me realise the tough nuts require one major thing, planning (unless I nuke it and paratroop in if it's an emergency).
1. Do you really need to take that city? If it's a capital, has a wonder you want, or producing battlewagons, probably yes. If not, wait. Reduce their empire first. One of the most important things to manuever warfare is to avoid getting bogged down at strong points. If you take away the weak stuff first, you will eventually beat them. This game is a zero sum type, what you have, he doesn't.
2. Will taking it leave you overextended? then put off taking that city, grab one or two surrounding cities and isolate it so the computer can't reinforce it. Next, tear it apart with diplos (remove factories, harbors, or any strategic items and units in production first. The walls will cost you a few spies or diplo's), remove irrigation, maybe cut a road (we're assuming this is a VERY tough city, and you don't want to nuke it due to pollution concerns).
3 Don't have enough units now? Put a fighter (for defence against their counter strike) and a couple of bombers in a nearby city, send them over on sorties every turn. If the city is isolated , and you kill off two or more units a turn, it will eventually be overwhelmed. You'll probably lose some bombers, so it is good to ensure they don't have any cities within 10 squares to launch fighters. Maybe you can build a nearby port city with a settler. This will allow you to land troops without any movement penalty. If your on a rail spike, artillery and infantry are good immediately. Just make sure you can hold that city.
4 Don't forget to have a reserve. If your units get stuck just short of their goal, your going to need a cover force, use bomber shielding or a naval landing just behind the city, or some sort of bait units (partisans are great for this, sneak them behind and cut off the couter strike).
5 A lot of units !!! This idea will seem weird to the democrats out there, but you can't take a city with 12 defenders if you only have 5 attackers. Deal with the unhappiness and inefficiency or switch to commie of fundy.
6 Do you NEED that city NOW? (ie he has a space ship, building manhatten, etc...) Well, get ready to lose some units. Look at his income to see if the capital will move (at least 1000 gold), and plan to have to take that city with your standing forces. This is why I've become a big proponnent of guarding my cities with mibile units. rather than have a passive force which can survive an attack, I spend a similar amount of shields to have a counter attack force which cost me the same in maintanance as riflemen, etc.. With this force, you load up on your transports go there see whats in the city with a spy (I can't stress that enough) and go at it while you build as much as you can. This is one time when cruise missile are actually useful. One hit, one kill. (of course howies can be 2 hits, 2 kills. But tht's another post).
7 Notice that these apply mostly for the cavalry/cruiser or better time period. Before that you can almost always put off taking a city. You can expand elsewhere rather than attacking that mountain city.