1899年12月17日,罗伯茨勋爵(Lord Frederick Roberts)被英国首相索尔兹伯里勋爵任命为南非远征军总司令,基奇纳勋爵为参谋长。由于遭到失利,好战情绪在英国国民中高涨,索尔兹伯里内阁“将战争进行到底”的政策得到支持。
1900年1月10日,罗伯茨和基钦纳抵达开普敦。他们带来了本土的第七军、来自澳大利亚、新西兰和加拿大的增援部队,以及驻印度和锡兰的三个骑兵分队。到1900年1月,南非战场上的英军增至18万,3月再增至22—25万人,居于绝对优势。此外,还有几千匹军马从英国和澳大利亚运抵南非,增加了英军的机动性。
1900年2月,在权衡了战场局势之后,罗伯茨改变了战略,将主攻方向从纳塔尔西移到中路兵力较弱的奥兰治地区,同时改变刻板的正面强攻战术,采取迂回夹击的策略。西线方向,英军击败布军最凶猛的“黑将军”皮埃特·克龙耶指挥的民团,于2月16日解放被围困数月之久的金伯利。东线英军于2月27日发动攻势,3月3日在多得雷赫特(Dordrecht)打败了布尔人,终于得以解莱迪斯史密斯之围。
消灭了最强悍的克龙耶对其左翼的威胁之后,罗伯茨将主攻兵力转回奥兰治,稳步向北挺进。由于吸取了第一阶段失败的教训,英军改变了战术。在遭到布军伏击时步兵部队不再保持队形,而是就近挖掘战壕,掩护骑兵对布军阵地发动冲锋。在这种战术下,布军在白杨树林(Poplar Grove)、亚伯拉罕牛栏(Abrahams Kraal)等地的阻击接连失败。3月10日,英军第六师和第七师在亚伯拉罕牛栏击败了布军装备最精良的约翰内斯堡警察部队。3月12日,奥兰治自由邦总统马蒂乌斯·斯泰因带领政府和国会官员逃出首都布隆方丹,逃往北方的克龙斯塔德(Kroonstad)。3月13日下午,英军开入布隆方丹。3月中下旬,英军部队伤寒流行,罗伯茨不得不下令就地休整,英军的攻势被迫中断。3月26日,布军总司令茹贝尔在柳树农庄(Willow Grange)之战中再次坠马重伤,次日宣告不治。根据他的遗愿,擅长游击战的路易·博塔继任布尔野战部队总司令。
1900年4月底,又有一大批英国援军开到南非。经过兵力调整,在主攻方向上,罗伯茨有八个步兵师(第3、6、7、8、9、10、11师、殖民地师)和第12骑兵师。英军在5月初重新发动进攻。5月12日,罗伯茨的大军攻克奥兰治自由邦的新首都克龙斯塔德。由于接连遭到失败,布尔人的士气一落千丈。在罗伯茨的宽大许诺下,许多在英军后方活动的民团团员纷纷向英国人投降,交出武器,然后返回自己的农场。到5月中旬,仍在战斗的布尔人只剩下了两万多人。
1900年5月24日,米尔纳勋爵在布隆方丹宣布英国兼并奥兰治自由邦。吞并奥兰治之后,英军加紧向德兰士瓦进攻。5月29日,弗兰奇将军指挥澳大利亚骑兵部队,在约翰内斯堡南郊的克利普河击败了最后一支防御部队。5月30日,克留格尔总统乘坐火车离开首都比勒陀利亚。5月31日,罗伯茨进入约翰内斯堡,6月5日清晨开进比勒陀利亚。
1900年9月1日,罗伯茨宣布英国兼并德兰士瓦,并宣称战争结束。9月11日,克留格尔总统得到流亡的德兰士瓦政府授权,抵达葡属莫桑比克首府洛伦索马贵斯,10月19日,克留格尔乘坐荷兰女王威廉明娜派来的巡洋舰格尔德兰号(De Gelderland)前往欧洲求援。