中国古代的攻城战都是靠器械,主要是云梯和冲车,箭楼,但是郝昭在守城的过程中将诸葛亮的攻城器械一一化解。蜀军先是派了云梯攻城,郝昭让士兵用"火箭"射云梯,云梯着火,攻城的蜀军被烧死。这是中国古代史上第一次有"火箭"的记载。
接着蜀军用冲车进攻,这种车辆装有大铁锤,专门用来冲击城门。城里的魏军则用绳子把石磨盘穿了起来,从城楼上丢下去砸坏了冲车,蜀军再次失败。
诸葛亮又让士兵用土石把护城河填起来,修建了井阑来登城。井阑相传是鲁班所造,是一种能推动的箭塔。但是郝昭在城内抢修城墙,在墙内又修起了一堵更高的墙,蜀军的登城也失败了。
最后,蜀军选择了挖地道来掘进,城内的魏军则在城墙内侧挖了一道壕沟,等蜀军一出现就攻击,蜀军死伤惨重。