Sophie Allen won one of the most keenly contested finals of the British trials to claim a place in the 200m individual medley at the World Championships.
Allen clocked two minutes 11.34 seconds to beat Siobhan-Marie O'Connor (2:12.12) and Hannah Miley (2:12.77).
Roberto Pavoni recorded a personal best of 1:58.14 in his victory in the men's 200m individual medley.
Jemma Lowe won the 100m butterfly, and there was a first British gold for Lauren Quigley in the 100m backstroke.
Allen and O'Connor, who also qualified, exchanged the lead throughout their final in Sheffield and both swimmers felt physically ill after the race.
But both believe they can improve their times.
"There are so many girls in that going similar times so I knew it would be tough but I'm dead chuffed to have won it," said Allen, 21, who switched from Stockport to Bath after the London 2012 Olympics.
"I am a little bit disappointed with the time, it hasn't really moved on much from last year and I think I'm better than that so hopefully I can show that at the worlds."
O'Connor, 17, Team GB's youngest swimmer at the London Games, said: "I felt so light-headed afterwards because I really put everything into it.
"I haven't had a great week and swam quicker earlier in the year, but I'm really relieved to be in the team for the World Championships."
Pavoni, 22, narrowly missed out on qualifying for the World Championships in the 200m butterfly final on Thursday and was delighted to finally secure a place and take the pressure off ahead of the 400m individual medley on Sunday.
"I've been waiting for a big time like that for quite some time so I'm very surprised to have done it, but very pleased and looking forward to tomorrow now," said Pavoni, who will be joined in Barcelona by Ieuan Lloyd.
Despite reaching the London Olympic final in the 200m butterfly, Welsh Commonwealth bronze medallist Lowe failed to achieve the time she needed to qualify for Barcelona.
However, the 23-year-old put that disappointment behind her to secure a World berth over the 100m distance.
Former European champion Elizabeth Simmonds was looking to bounce back after failing to achieve her target in the 200m backstroke on Thursday.
But she was pushed off the podium in a race won by Quigley, which also saw Georgia Davies secure her place for the World Championships.
"In the year after the Olympics, people have to get up there, race and show what they can do," said Quigley, who won in 1:00.07 to edge out Davies by six one-hundredths of a second.
"I want a sub-one minute and hoped I'd do it tonight but I have the worlds now where I hope I can do it."
Elsewhere Francesca Halsall, who won the 50m freestyle earlier in the week, eased her way into the 100m final and matched the World Championship qualification time with 54.39 in the semi-finals.
Robbie Renwick, who has already qualified for the 400m and 200m freestyle events, recorded the quickest time in the 100m free semi-finals with 49.63, while 50m British record holder Adam Brown was second fastest in 49.66
Olympic silver medallist Michael Jamieson, who won the 200m breaststroke in Sheffield, was only the fourth quickest qualifier for Sunday's 100m breaststroke final with his time of 1:00.79 bettered by Ross Murdoch, Adam Peaty and Chris Steeples.