© Getty Images
Having failed to do much with the ball, Porto's first opportunity came on 28 minutes when Ricardo Quaresma tried to pick out Jackson Martinez at the back post with a teasing cross, but the home side were able to clear through Vitali Gayduchik.
In a cagey first half that was characterised by bitty play in midfield, BATE tried their luck again with half an hour played as Alyaksandr Karnitsky blasted over with a speculative free kick.
Porto continued to struggle against the intensity of the BATE players, but they came close late on in the first half when Martinez used his feet to create some space in the box. However, the Colombian spoiled all of his hard work by smashing the ball high and wide.
It took the Portuguese outfit 11 minutes after the break to take the lead as Hector Herrera found the net with a dipping drive from 25 yards that flew into the top corner.
Their advantage was then doubled just nine minutes later when Martinez made up for his earlier miss by drilling the ball into the bottom corner to cap some patient build-up play from the visitors.
BATE piled on the pressure during the final 15 minutes as they looked to get themselves back in the match, but it was Porto who had the final say thanks to Cristian Tello's cute finish past the goalkeeper after being picked out by Herrera.