Diego Mauricio stunned the home supporters to give Odisha an early lead, but goals from Miguel Figueira and Dori had Bashundhara in the driver’s seat at the break.
Dori then added his second in the 54th minute which proved to be the winner despite Jerry Lalrinzuala pulling one back for the visitors midway through the half.
The home side began on the front foot and had their first shot at goal in the fifth minute when Brazilian striker Dori tested Odisha goalkeeper Amrinder Singh with a low drive after he was released by his compatriot Robinho.
But it was the visitors who took the lead against the run of play in the 19th minute. Odisha full-back Laldinliana Renthlei played a one-two with Jerry Mawihmingthanga to find some space on the right, and then found Mauricio whose first-time effort beat Bashundhara custodian Mehedi Hasan.
Oscar Bruzon’s side probed for an equaliser and in the 32nd minute, Dori’s cut back fell to Robinho inside the box, but Renthlei threw himself at the Brazilian’s effort to preserve his side’s lead. The duo combined again four minutes later, but this time Dori’s shot flew wide of the target.
Bashundhara were finally rewarded for their efforts six minutes before the break when captain Robinho got to the goal line and played the ball back to the middle for Figueira to head in the leveller for the Bangladeshi champions.
The hosts then pulled ahead on the stroke of half-time as Dori escaped the attention of the Odisha defenders to head in a cross from Rakib Hossain.
Odisha substitute Roy Krishna threatened to restore parity in the 53rd minute with a shot from the edge of the box which was comfortably collected by goalkeeper Hasan – seconds before Bashundhara doubled their advantage.
It was the combination of Robinho and Dori that worked for the hosts yet again as the former’s no-look pass found the striker inside the box and his strike through the legs of Amrinder gave Bashundhara a 3-1 lead in the 54th minute.
Fiji international Krishna struck the woodwork four minutes later with a header from a free-kick played in by Moroccan midfielder Ahmed Jahouh.
But it was Odisha’s other half-time substitute Lalrinzuala who got his name on the scoresheet in the 66th minute to reduce the deficit and keep the Indian Super League side in the game.
They came close to an equaliser in the 70th minute when Puitea’s shot from a corner was hit straight at the Bashundhara goalkeeper, while at the other end, Dori was denied a hat-trick by Amrinder after the hosts broke on the counter.
Boburbek Yuldashev hit the crossbar with a header from a Robinho cross in the 75th minute as the hosts’ failure to add a fourth ensured a nervous finale for the home support.
Bashundhara will next travel to Kolkata to face Mohun Bagan Super Giant on October 24 while Odisha host Maziya Sports & Recreation of Maldives in Bhubaneswar on the same day.