1935年5月12日,中共中央在四川省会理县城郊的铁厂召开了政治局扩大会议(即会理会议)。会议讨论了红军渡过金沙江后的行动计划,决定继续北上,越过大渡河,夺取西昌,实现在川西北与四方面军会合的战略目的。会议决定刘伯承任先遣司令,利用他在川军中的声望等有利条件为全军开路。
会议期间,红军攻会理城不克。5月14日,中革军委决定放弃对会理城的围攻,沿会理西昌大道北上通过彝族区,抢渡大渡河。
此时,距会理400多华里的西昌—国民党第24军川康边防军司令兼第7师师长刘元璋部所在地一片惊慌,刘元璋急令其堂弟刘元瑄所部1旅从汉源调兵巩固城防,令川康边防军第16旅旅长许剑霜,所辖王维三团防守于西昌、会理道上的锦川桥、丰站营要隘;令其三胞弟刘元琮率所部两团布防于西会道上的第二线德昌;第三线在麻栗寨,由拥有彝兵的邓秀廷扼守。
刘元琮率所部到距会理300余里的德昌时与刘元瑄联系,刘元瑄告诉他,红军已从金沙江北岸忠武山向雷打树推进,距会理不过一天半路程。刘元琮一听就紧张起来,马上令各部严阵以待,准备给到来的红军以痛击,不料四五个小时过后仍不见红军的踪影。原来,红军已于5月15日陆续离开会理城郊,经益门、白果、云甸进入德昌县境,沿安宁河东岸挺进。
刘元瑄担心刘元琮不能守住德昌,遂又增派许剑霜带兵一个团又一个营前往加强防守力量。
许剑霜是泸州、顺庆起义时刘伯承部下一名团长,还曾加入过共产党。刘伯承得知情况后亲笔给许剑霜写一封信追叙旧谊,劝其深明大义不要阻拦红军,使蒋介石坐收渔翁之利。许剑霜接信后,一为刘伯承的堂堂大义所感动,二为自己的切身利益着想,便派亲信副官将原信送往西昌川康边防司令刘元璋处,主张给红军让路。刘元璋未置可否,许剑霜认为是默许。
事实上,许剑霜作为刘文辉主力部队指挥官,主要还是听命于最高长官刘文辉。由于刘文辉担心重蹈“贵州王”王家烈的覆辙,中蒋介石“假途灭虢”之计,不愿替中央军“火中取栗”,对堵截红军自是尽力采取避战自保的办法。
5月16日,红3军团撤会理之围北进。同日黄昏,红一军团先头部队第1师1团行至丰站营、八斗冲一带与王维三团相遇,王团占据有利地形阻击红军。红1团团长杨得志、政治委员黎林命令红1团不惜一切代价抢占丰站营和八斗冲。红1团火速奔袭,一鼓作气抢占隘口。时天降暴雨,道路泥泞,行动困难。双方在八斗冲一带激战至半夜,王维三接到撤退的命令。
随后跟进的红5团与红1团并肩作战,乘胜追击并攻打德昌,守德昌川军略示抵抗即溃退下来。5月17日3时许,红1师人马全部进占德昌。
刘元璋在德昌与西昌间布防了20旅旅长兼彝务指挥官邓秀廷之人马。邓秀廷系彝族,有正规军两个团,并能调动附近彝民武装近万人。邓秀廷奉刘元璋之命率部前出到西昌南面的黄水塘,阻止红军北进。刘伯承得知情况后派人送给邓秀廷一封信,信上写着:红军路经贵防,不以彝民为敌,彝民打枪我不还击,但路是一定要过的。
邓秀廷在打不打红军的问题上一直犹豫不决。打吧,对手是刘伯承,刘湘、刘文辉、杨森都被他打败过,自知不是对手;不打,又怕在刘元璋那里不好交代。最后他想出一个办法:拉开打的架势以应付刘元璋,但不交火以免伤及老本。他把彝族军官召集起来训话说:“今天的事情不比往常,要当心些,没有我的命令不准开枪。”
邓秀廷把部队摆在大道两边山上,眼看着红军通过,有一个彝兵因紧张走火开了一枪,引起别的彝兵也打了几枪,邓秀廷急用彝话制止。红一军团前锋亦未还击,只说“汉彝一家”“汉彝是弟兄”,照样前进。其时有两架蒋介石的飞机来轰炸,邓秀廷部未摆出指示目标的标志,飞机盲目投弹,炸死邓部官兵几十人。邓秀廷乘机把部队由黄水塘高地撤往冕宁地区。
德昌进攻战斗击溃川军1个旅,俘其200余人,缴枪1000余支。据民国年间修订的《西昌县志》卷九《兵冠志》记载:红军“洋洋而来,如入无人之境。是时旅长许剑霜,驻防德昌,交绥而退,连夜走入西昌城,德昌遂陷”。
5月19日下午,红军主力通过黄水塘后,到达西昌西南约15里的马道子。国民党设在大渡河外围的防线就这样被巧妙破除了。