拓跋焘亲自率军征讨。他采取分兵牵制、各个击破的策略,很快就瓦解镇压了起义军。在镇压起义军的过程中,拓跋焘对沿途响应起义的各族人民进行了残酷杀戮,这也暴露了他作为统治者的本性。
太武帝在其晚年开始让太子拓跋晃总摄国政,拓跋晃也不负重托,将国家大事处理得井井有条。但是,危机也就此埋下。拓跋焘宠信的宦官宗爱与太子不和,他见太子日渐得到太武帝的信任,怕将来太子登基后对自己不利,于是就经常在太武帝面前诬告太子想谋反。拓跋焘开始还不在意,后来听得多了,就信以为真,一怒之下就把辅佐太子的几十位大臣全部杀掉,以此警告太子。不想拓跋晃经此一吓,整日惶恐不安,竟然卧床不起,不久就病死了。
事后,拓跋焘进行了清查,发现太子并没有谋反的行为,后悔不已。为了弥补过错,他追谥拓跋晃为景穆太子,又封他的儿子拓跋濬为高阳王。此时的宗爱坐不住了,心想太武帝处理完太子的事情必然会加罪于自己,于是他趁拓跋焘醉卧于永安宫时,将其勒杀。之后,扶立与他关系密切的安南王拓跋余为帝。