The Portugal goalkeeper attempted to clear Ana Borges’s back pass but hit the ball straight at Duggan – who clipped the ball over the keeper's head and into the empty net.
But the Lionesses weren’t ahead for long.
Francisco Neto’s side put together a good move down the right which led to Diana Silva delivering a low cross into the box.
Bassett half-cleared but the ball fell back to Silva who picked out Mendes at the back post for a tap-in.
This match pitched the tournament’s lowest-ranked team against the third favourites, and England lived up to their elevated status a lot more in the second half.
They dominated straight from the restart and regained the lead soon after.
Duggan climbed highest to flick-on a goal kick, Isobel Christiansen then played a cute pass through to Parris, who nipped inside Carole Costa before slipping the ball underneath Morais.
England enjoyed far more possession after the break and limited their opponents to only occasional forays forward.
Dolores Silva hit a 25-yard free-kick just wide, but Portugal’s best chance to level once more came in added time when substitute Laura Luis volleyed goalwards – luckily for England, it was straight at Siobhan Chamberlain.
England march into the knockout stages and a quarter final tie against Les Bleues in Deventer on Sunday.
Portugal (4-3-3): 12 Patricia Morais; 9 Ana Borges, 4 Silvia Rebelo, 15 Carole Costa, 14 Dolores Silva; 23 Antunes, 11 Tatiana Pinto, 20 Suzane Pires; 18 Carolina Mendes, 7 Claudia Neto (capt), 16 Diana Silva.
Substitutes: 10 Ana Leite for Mendes 64, 19 Amanda Da Costa for Pires 80, 8 Laura Luis for Diana Silva 88.
Substitutes not used: 1 Jamila Marreiros, 2 Monica Mendes, 3 Raquel Infante, 5 Matilde Fidalgo, 6 Andreia Norton, 13 Fatima Pinto, 17 Vanessa Marques, 21 Diana Gomes.
Goal: Mendes 17
Head coach: Francisco Neto
England (4-4-2): 13 Siobhan Chamberlain (Liverpool); 22 Alex Scott (Arsenal), 15 Laura Bassett (capt; Unattached), 16 Millie Bright (Chelsea), 20 Alex Greenwood (Liverpool); 14 Karen Carney (Chelsea), 10 Fara Williams (Arsenal), 6 Jo Potter (Reading), 8 Isobel Christiansen (Manchester City); 19 Toni Duggan (Barcelona), 17 Nikita Parris (Manchester City).
Substitutes: 7 Jordan Nobbs (Arsenal) for Bright 60, 3 Demi Stokes (Manchester City) for Duggan 81.
Substitutes not used: 1 Karen Bardsley (Manchester City), 2 Lucy Bronze (Manchester City), 4 Jill Scott (Manchester City), 5 Steph Houghton (Manchester City), 9 Jodie Taylor (Arsenal), 11 Jade Moore (Reading), 12 Casey Stoney (Liverpool), 18 Ellen White (Birmingham City), 23 Fran Kirby (Chelsea).
Goals: Duggan 7, Parris 48
Bookings: Williams 5, Christiansen 27
Head coach: Mark Sampson
Referee: Kateryna Monzul (UKR)