Media playback is not supported on this device
GB's Abbie Brown opened the scoring after just 15 seconds before Fiji's Litia Naiqato finished off a stunning team move to level.
But Alice Richardson and Joanne Watmore gave Team GB a 19-7 half-time lead, and Brown sealed the win with her second.
Australia and Canada will play in the second semi-final on Monday.
Great Britain earlier beat a strong Canada side 22-0 in their final group game.
Find out how to get into rugby union with our special guide.
And Brown said that Sunday's improvement came because the team had "settled" after feeling nerves on the first day.
"It is an Olympics, the nerves are going to hit," she said.
"We have shown everyone today with Canada and Fiji, we have done ourselves justice."
Britain's semi-final will get underway at 19:00 BST on Monday, with the final following at 23:00.
Day-by-day guide to what's on
Media playback is not supported on this device

Media playback is not supported on this device
The winger, 22, was dismissed after appearing to react to Stephen Mitchell's award of a foul throw.
Cathro had said after the game he would review the incident.
"We see and Sam accepts he has been foolish, acted stupidly inside his own frustrations, and has since apologised to his team-mates," Cathro said.
Immediately after the match Cathro appeared to back his player but the Tynecastle outfit decided not to appeal against the red card shown to Nicholson.
And the head coach now accepts his player was guilty of a "stupid, rash action" that made the game more difficult for the Hearts players left on the pitch.
"He has apologised to myself for that," Cathro added. "That situation is completely unacceptable to me because it impacts on the strength of the team.
"That is the responsibility of every player: to make sure they are always adding to the strength of the team and never getting caught in any frustration or moments that lead to us being weaker.  That is something we will deal with privately."
Nicholson is banned for the visit of Dundee on Saturday and the trip to Kilmarnock.
And Cathro hopes that the player is now able to put the incident behind him.
"I would also like to add that Sam is a young, talented Scottish player who in this case has been guilty of a foolish, stupid action, but I don't consider he is guilty of any more than that," he added.
"Now, that's bad enough as it is and I would say it's completely unacceptable to himself, to me, to the team, and to the club. However I urge us to not push that any further than what it is."
Media playback is not supported on this device
Great Britain women will face New Zealand in the semi-finals of the Olympic rugby sevens after beating Fiji 26-7 in the last eight at Rio 2016.
[NEXT_CONCEPT]
Hearts head coach Ian Cathro admits Sam Nicholson was "foolish" to spit in the direction of an assistant referee in the defeat at St Johnstone.