元朝末年,朱元璋在红巾军的帮助下崛起。势力壮大后,他在应天府(今南京)建都,当时朱元璋并没有立即北伐,而是先西征湖北、湖南、江西的陈友谅,东征苏南、浙江北部的张士诚。经过多年的远征,才开始北伐的。朱元璋政权并没有因为北伐的不合时宜而失败,而是建立了一个强大的明朝。

《朱元璋》
朱元璋在南京称帝时所面临的情况与上述情况大不相同。红巾军在黄河流域起事,北方陷入混乱。不同规模的汉族军队相继崛起,许多军阀在不同的地方变得强大起来。元朝的地方政权,从省到县,都丧失了。只有在北京周边的一个很小的地区,还剩下元氏宗族的人,他们不能出京城,而且对全国没有号召力。

《明军北伐》
朱元璋投奔郭子兴成为江淮地区红巾军的首领。朱元璋在南京建都后,对形势作了清醒的估计:对他霸权的真正威胁不是元朝政府,而是陈友兰、张士诚占领的南京一带的一方。南京当时处于腹背受敌的状况,面临上下游军事威胁。如果不解决陈、张两大军事集团,更别说北伐元军了,连他们自己的生存,更别说扩大他们的实力和管辖权?因此,对朱元璋来说,远在北京的元政权不足为虑,而陈、张才是最大的隐患。

《朱元璋北伐战略图》
至于如何对付陈友谅和张士诚,更重要的是慎重考虑。朱元璋认为,必须先处理陈友谅的"浮躁本性和好生事";然后再对付张士诚的"器小易盈",满足于分裂主义的现状,不妨放慢脚步。朱元璋的结论是,在对陈友谅的用兵时,张士诚则多办按兵不动,所以不会陷入两面受敌的威胁。正如朱元璋所料,明军在试图对付陈友谅时,张士诚则一直保持沉默、按兵不动。朱元璋灭陈后迅速东移,张士诚倒下。
灭掉陈、张后,朱元璋便派徐达率军北伐,对元朝残存的势力进行打击,没有遇到强大的抵抗。最后,朱元璋统治了天下。

《太平军》
而太平军从广西起事后,占领武汉,向东进发。它虽途经广西、广东、湖南、湖北、江西、安徽、江苏等7省,都但先占先弃,从未安排部队驻军。直到建都南京时,太平军势力才苏、皖、赣三省的部分地区,而北方各省和南方大部分省份都在清朝中央政府的有效控制之下,全国的外交权力也在清朝中央政府的控制之下。此外,面对财政困境,清政府仍然恪守康熙"永不加税"的遗言,并没有从过度征收土地税入手。取而代之的是,它主要采用雷以缄的建议,收取商人的帮助费,扩大富人捐款官员的力量,初步解决了这一特殊时期的财政困难。因此,尽管太平军抗战期间军费开支大幅增加,但对清政府在全国财政上的有效控制并没有产生巨大影响。

事实上,曾系湘军的崛起几乎与太平军在苏、皖、赣三省的崛起同时发生,而左系湘军和李系淮军的形成则较晚。且不论英、法、美等外国军人在中国组织的洋枪队,曾、左两系湘军和李系淮军在吸引力和军事实力上,都不是太平军的对手。
太平军在南京建都几年后,就派李开芳、林凤祥率军北伐,并将直接抵达天津城下。也就是说,如果太平军在攻入天津后继续全面北伐,攻占北京并非不可能。在太平军进京的威胁下,曾系湘军必然在北方"勤王",远离根据地曾系湘军,处于北方不利地位,在北方同太平军较量并没有优势。此外,在京城周边使用军队也难免有清代宗室的猜忌。有许多因素阻碍它。这很难预测。曾国藩根本不可能坐大,更别说左、李了。就这样,太平军的胜败,还是说不清。

但太平天国领袖洪秀全在南京建都后,沉溺于酒色,加速腐败,内乱频发,才导致太平天国灭亡,这在历史上是不可避免的。