1903年12月11日,麦克唐纳率侵略军一千一百五十名,携火炮四门、马克沁机槍四挺,越过则利拉山口,于13日占领了仁进冈,14日进占通向江孜的重要门户——春丕。由于西藏地方政府对英军入侵方向判断错误,主要兵力在干坝一带设防,以致亚东至帕里一带险要地点无兵把守,敞开了门户。结果,英军不费一槍一弹即占领了春丕一带的边寨要地。接着,荣赫鹏率后续部队到达,春丕成了侵略军的兵营和军事物资贮存地。这时,西藏地方政府急调军队去帕里防守,但为时已晚。12月18日,麦克唐纳率由七百九十五名步骑兵组成的轻装纵队继续北犯,20日抵达帕里,夺取了帕里宗政府储存的火药和武器。由于风雪严冬,道路险狭难行,英军的给养极为困难,“燃料几完全缺乏”①,再向前推进已不可能。麦克唐纳只得命令两个连驻扎帕里,自率其余部队返回春丕,筹措给养、燃料。这时,赶到帕里前线的藏军准备组织反击,却被驻藏大臣裕钢下达的“沿途地方文武官,只能理阻,不准与英兵生事”②的命令所阻,结果失去一次歼敌的极好机会。
1904年1月4日,麦克唐纳与荣赫鹏又率军从春丕出发,越过帕里,于8日推进到堆拉。荣赫鹏率部分侵略军留在堆拉,与拉萨派来的代表进行“谈判”,麦克唐纳则率部再次返回春丕,进行休整和筹集给养。
西藏地方代表多次要求英国侵略军撤回亚东,均被荣赫鹏拒绝。当时,西藏地方政府从各地征调的军队两千余人,已赶到堆拉以北的曲眉仙角(堆拉北七里)和古鲁(堆拉北二十里)一带,构筑了两道石墙,组织防御。3月初,守军又增至三千余人,共六个代本。其中来自拉萨两个代本,日喀则两个代本,江孜、丁日各一个代本。这些部队属于临时调集,未经训练。其总指挥降巴丹增,前线指挥莱丁色,副指挥郎色林,都无战争经验,以致在兵力部署、作战指挥等方面都存在许多漏洞。
占领堆拉的英军仅是一支力量不大的先遣队(有步槍四百支、火炮二门、机槍二挺),而且天时地利对其非常不利。侵略军不适应高原缺氧和风雪严寒的气候,很多人患有肺炎,已有十二名死亡,不少人冻伤致残。由于风雪猛烈,前后方联系经常梗断,加之牲畜劳累和染疫而死者十之八九,以致运力剧减,供应十分困难。而西藏守军仍未趁机向英军发起反击,也未切断敌人兵力薄弱的运输线,结果又丧失了一次有利的战机。
3月中旬,英军完成了进攻江孜的准备。3月28日,麦克唐纳率工兵四个连、步兵三个半连及野战救护队、战地工程队等,携炮四门、马克沁机槍若干挺,抵达堆拉。与此同时,荣赫鹏致函新任驻藏大臣有泰(升泰之弟),横蛮地提出要进至江孜“谈判”,并威胁西藏守军不得抵抗。3月31日,麦克唐纳、荣赫鹏率侵略军一千三百余人,由堆拉出发,分三路向北推进。西藏当局派代表前去劝阻,要求英军撤至亚东谈判,荣赫鹏不予理睬。当英军接近曲眉仙角藏军阵地时,荣赫鹏又耍陰谋诡计,要求双方停火谈判。藏军受骗,未予射击。麦克唐纳却暗中调动兵力,命令第八廓尔喀步兵营从左翼迂回,抢占山头。西藏守军发觉后,竟放弃山上阵地,退至拦阻墙内。随后,英军于山之右侧部署了机槍和炮兵阵地,骑兵在平地展开,从三面将一千五百余名藏军包围。这时,荣赫鹏原形毕露,限令藏军在十五分钟之内缴械投降。藏军前线指挥莱丁色严词拒绝,麦克唐纳便突然下令开火。藏军在非常不利的条件下,毫不畏惧,用手中的大刀、长矛、铁叉与英军展开白刃格斗,打死打伤英军官兵十五人。后在敌人的交叉火力射击下,莱丁色、郎色林和七百余名藏军相继牺牲,余部撤向古鲁,守卫第二道防线。英军追至古鲁,藏军再次奋起抵抗,终因伤亡过大而后撤。
曲眉仙角和古鲁之战,藏军共伤亡一千四百余人,“但是没有一个向敌人屈膝投降”①,充分显示了中国人民不畏强暴和宁死不屈的英雄气概。英国侵略军的残酷屠杀,更加激起了西藏人民的无比愤怒,进一步点燃了广大西藏人民群众反侵略的熊熊烈火。