Chamani Seneviratna struck twice in her first four overs as England slipped to 29 for three, before Heather Knight (38) and Arran Brindle (31) added 64 for the fourth wicket.
When they fell in quick succession, Gunn teamed up with 19-year-old debutant Amy Jones (41) in a stand of 83 to ensure the favourites recorded a defendable total.
England made smooth progress to 22 without loss before captain Charlotte Edwards fell in bizarre fashion as a ball from Eshani Kaushalya, which was going down the leg side, hit her trailing foot and caromed back onto the stumps.
Seneviratna then trapped Danielle Wyatt and Lydia Greenway lbw, before Knight and Brindle calmed England nerves.
Boundaries were at a premium, but Knight in particular looked to keep the scoreboard ticking over.
But Brindle was run out after a mix-up and Knight dragged a wide ball from Sandamali Dolawatte back on to her stumps, leaving Gunn and Jones to rebuild.
The experienced Gunn took control, not panicking as England went more than 22 overs without a boundary.
As the pair grew in confidence, Gunn hit back-to-back boundaries off Sharina Ravikumar and Jones, impressively taking her chance with Sarah Taylor out injured, plundered three fours in four balls off Siriwardene.
Gunn and Taylor fell in successive overs but it did not stop the acceleration, Katherine Brunt hitting the only six of the innings and Danielle Hazell plundering 19 off eight balls as England added 62 in the last five overs.