《三国演义》第二十七回所写的“过五关斩六将”,是书中流传最广的故事之一。它说的是关羽挂印封金,辞别曹操之后,保着甘、麋二夫人,往河北(黄河以北)投奔刘备,先后经过五个关隘;因未向曹操讨取通关证,沿途受到阻挠,不得已斩了六员曹将。这所向披靡的战绩,成为关羽赫赫功业的一个重要组成部分。
历史上有没有“过五关斩六将”之事呢?没有,这只是罗贯中的艺术虚构。据《三国志·蜀书·先主传》记载,建安五年(公元200年),“曹公(指曹操)与袁绍相拒于官渡,汝南黄巾刘辟等叛曹公应绍。绍遣先主将兵与辟等略许下。关羽亡归先主。”这就是说,在关羽离开曹操之前,刘备已奉袁绍之命到了许都南面的汝南郡,与刘辟等领兵攻打许都附近地区,扰乱曹操的后方。关羽得到刘备的消息后,自然只能由许都南下以归故主,而绝不可能北上河北去寻找刘备。因此,他根本不会去“过五关”,也就不会“斩六将”了。
罗贯中为了表现关羽不辞艰辛千里寻兄的忠贞之节和义勇之慨,虚构了一个“过五关斩六将”的情节,让他先赴河北,再折回汝南,这在小说艺术上是允许的。问题在于,由于罗贯中的历史地理知识不足,他的虚构有一个相当大的漏洞——地理方位混乱。按照情理,关羽既然要到河北投奔刘备,那么,他离开许都之后,就应该向北,直趋延津(今河南延津西北)或者白马(今河南滑县东),渡过黄河,即可进入冀州境内。然而,罗贯中却让他首先通过东岭关(虚构的地名),接着突然莫名其妙地折向西北,跋涉一千多里,走到洛阳,白白绕了一个大弯;然后才折回东方,经过汜水关(即《演义》第五回写到的虎牢关)、荥阳,最后再到达滑州(应为白马),从那里过河。这样的路线,犹如一个大“之”字,让人物来回折腾,行程将近三千里,完全不合逻辑。