Vinit Rai (21' own goal), Jackichand Singh (24', 27') and Manuel Onwu (59', 65') were amongst the goals in an entertaining contest before Ferran Corominas (90') sealed the points for the visitors late in the game.
Onwu made his first Odisha start since arriving on loan from Bengaluru to replace Aridane Santana in the squad. For the visitors, it was Edu Bedia who slotted in place of suspended Ahmed Jahouh.
Gaurav Bora's foul on Brandon Fernandes proved expensive as Bedia's free-kick took a deflection off Rai and went in. It was the first of three first-half goals.
Three minutes after the 21st-minute opener, Jackichand directed a Mandar Rao Dessai cross from the left into the back of the net.
Jackichand scored another goal off a squared pass by Boumous to give his side a three-goal lead at half-time.
Onwu brought Odisha back into the game with two goals around the hour-mark. The former Osasuna man got right in between Mourtada Fall and Carlos Pena to head an inch-perfect cross by Narayan Das in the 59th minute before nodding in a corner taken by Martin Perez in the 65th minute.
Meanwhile, Francisco Dorronsoro kept the hosts in the game with two good saves. The Spanish goalkeeper denied Brandon Fernandes in the 61st minute and then kept out Boumous's header from Brandon's cross in the same move.
Corominas sealed off the win with his 50th in Goa colours in all competitions as he picked a deflection off Narayan Das after substitute Manvir Singh did the spadework on the right.
FC Goa's win takes them atop the standings with 30 points from 15 games and Odisha stay fourth with 21 points from as many games that opens up the play-off chances for Mumbai City (18) and Chennaiyin FC (16).