战争在古巴和菲律宾(西班牙在亚洲的殖民地)同时展开。1898年5月1日清晨,从香港海域驶出的美国舰队一个中队,不顾西班牙的鱼雷和岸上大炮的轰击,闯进了马尼拉湾,和西班牙进行了一场激烈的海战。一时间,海面上炮声隆隆,硝烟弥漫。西班牙的舰队虽然船只多,但是设备落后,火力不强,又缺乏准备,敌不过装备比较先进又跃跃欲试的美国舰队。还不到中午,美舰就击溃了西班牙的10艘军舰,轰毁了岸上的炮台,为登陆扫除了障碍。几个月以后,美军占领了马尼拉城,西班牙在菲律宾的统治土崩瓦解了。
在西半球的古巴,西班牙军队从大西洋的佛得角群岛调来了舰队,本来可以用它来攻击美国防务空虚的沿海城市或者攻击美国军队的海上运输线,来牵制美国的行动。但是西班牙的海军舰队司令竟让舰队驶进古巴东端的圣地亚哥湾,死守在那里,结果成了瓮中之鳖。为了防止西班牙舰队离开圣地亚哥湾,美国舰队把通往海港的狭窄航道封锁起来。西班牙舰队被困在港湾里,不断遭到攻击,只好在这年7月举行突围。这时候,美国舰队摆成了和西班牙舰队平行的攻击队形,发挥了它的大炮射程远的优势,把活动不灵的西班牙舰队全部击沉。在这次海战中,美军只有一个人死亡,一个人重伤,没有一只军舰遭到重创。而西班牙的军队损失惨重,被打死500多人,生俘1.7万人,连舰队司令也当了俘虏。
西班牙方面却声明,它和这一事件无关。美、西两国为了这件事,争执不休,最后决定成立调查团。但是当西班牙调查人员要求登上“缅因号”调查的时候,美方却坚决拒绝了他们。这还不算,没过多久,美国又把炸坏了的“缅因号”拖到了大西洋,让它在排空巨浪之中沉入海底。这样,调查工作无法再继续进行,而美国人反对西班牙的情绪却越来越强烈了。终于,在事情发生还不到3个月的时候,美国总统麦金莱就对西班牙宣战了。
“缅因”号爆炸事件很快轰动了整个美国,各大报纸以头条位置报道这个事件。一时间,美国的街头巷尾都在谈论这件事情,但人们议论最多的是“缅因”号是被谁炸掉的。“会不会是西班牙人干的?”不久,美国有关方面公布了调查结果,声称这艘军舰是西班牙人用水雷炸沉的,他们干脆利索而又毫不迟疑地将责任归在西班牙政府头上。4月20日,美国向西班牙发出最后通牒,逼其全部撤出古巴。
接着,美军发动强大攻势,占领了圣地亚哥城外的埃尔卡内山和圣胡安山上的西班牙人阵地。西班牙人只好退守城池。可是,没过多久,这些守军眼看救兵不到,孤军难守,也俯首投降了。美军占领圣地亚哥以后,很快就夺取了整个古巴。
1895年,古巴独立战争爆发后,美国隔岸观火,并未援助古巴。然而到了1898年初,形势突变,古巴革命眼看就要消灭西班牙的殖民统治,于是美国匆忙以“帮助古巴革命”为幌子,以保护自己的侨民为借口,首派“缅因”号军舰,抵达哈瓦那港,向西班牙施加压力。1898年1月24日,一艘美国巡洋舰停泊在古巴首府哈瓦那港。这艘名为“缅因”号的军舰,是美国政府借口保护自己在古巴的利益和侨民的安全,才驶抵这个倍受西班牙殖民者奴役的国度。
1898年2月15日晚上,在西班牙的殖民地古巴的哈瓦那港停泊着不少船只。美国的“缅因号”军舰这时候也停靠在这里。劳碌了一天的海军将士正在甲板上欣赏着美丽的海滨夜景。突然,一声巨响,浓烟滚滚,火光冲天,“缅因号”爆炸了。很多官兵还没来得及问发生了什么事,就送了命。据事后统计,在这次爆炸中死亡164人、受伤100人。
进行了3个月的美西战争,以西班牙人的彻底失败宣告结束。1898年12月,美国和西班牙在巴黎签订和约,西班牙承认古巴独立(实际上古巴成了美国的殖民地),并且将菲律宾群岛转让给美国,由美国付给2000万美元作为代价。