West Bengal, who had the better share of exchanges in the first half, scored through Shaikhom Ronald (9th minute) and Manvir Singh (86th).
West Bengal finished their league engagements with 10 points to top Group A and will meet the runners of Group B in the first semi-finals on March 23.
While Goa, who finished second with eight points, will meet Kerala in the second semi-finals later in the evening.
West Bengal, the first team to qualify for the semis in this tournament, retaliated and took the lead a minute later.
More From This Section
A swift move down the left saw Manvir Singh play a square pass to Shaikhom Ronald, who beat the rival keeper Kenio Lyngkhoi with a deft placement.
Meghalaya controlled the proceedings but found going tough against the resolute rival defence.
West Bengal, who played a waiting game, came with swift counter moves and Samad Ali Mallick stretched Kenio to make a diving save 10 minutes later.
After resumption, Meghalaya made two changes bringing in Fullmoon Mukhim and Bikyson Kharkongor in place of Marlyngki Suting and Andy Zakhary Mawthoh and the move paid off as Meghalaya kept on pressing in search of the equaliser with steady flow of passes. They had two clear chances but substitute Fullmoon Mukhim saw his header going over and later Kitboklang Pale's left footer went straight into the hands of keeper Sankar Roy.
(REOPENS SPD 23)
In the second match of the day played at Bambolim, Goa rallied from behind to beat a spirited Services 2-1 to enter the semi-finals, finishing behind West Bengal in Group A of the Santosh Trophy.
Goa started the match needing a point at the minimum to ensure a semi-final berth.