312国道是斜着从东南一路通向西北。312国道的东部起点与318国道相同,都是始于上海市黄浦区,终点是新疆伊犁州霍尔果斯市,途经江苏、安徽、河南、湖北、陕西、宁夏、甘肃,一共跨越9个省、自治区、直辖市,全长4967千米,其长度仅次于318国道。
312国道起点是上海市黄浦区人民广场,然后往西北方向奔着苏南的“三驾马车”苏州、无锡、常州而去,之后穿过镇江到达江苏省会南京市。
312国道从南京出来,进入安徽省滁州市,然后一路向西到达安徽省会合肥,离开合肥后进入安徽省六安市境内,沿着大别山北麓往西北行进,抵达河南省信阳市,出信阳后,312国道有很小一段路程是经过湖北省随州市的地界。然后沿着桐柏山向西北方向经过桐柏县直接插入南阳盆地,到达河南省南阳市。