Sonny Cox's strike made it an unbeaten pre-season for City, as they capped off preparations for 2025/26 with a win at SJP against Swansea City in Pierce Sweeney's testimonial.
The captain, who walked out to a guard of honour, played the first 30 minutes of his game, before being withdrawn as he continues to build his fitness for the new season. A rather quiet first half was quelled just seconds after the restart, when Cox finished in the centre of the box after fantastic work by Niskanen down the left.
Swansea had several goals disallowed, but City held on to claim victory on Pierce Sweeney's day.
Donning City's brand new third strip, Pierce Sweeney started for the first time in City's 2025/26 pre-season campaign. As expected, the Grecians made ten changes from the side which started yesterday evening at Torquay, with only Joe Whitworth retaining his place in goal. For the Swans, City academy graduate Josh Key started at right-back, returning to St James Park for the first time since leaving the club in 2023.
First half
Just as the sun peeked through the clouds on a lush green St James Park pitch, City started the match on top, winning a couple of free-kicks and corners, albeit none paid dividends. In the sixth minute the visitors did hammer the ball into the net, but Cameron Congreve was ruled to be in an offside position in front of the Big Bank.
Former Leyton Orient keeper Laurence Vigouroux was first forced into a save just before the 20th minute mark, after a move stemming from Sonny Cox's determined running. The forward broke free into Swansea's half, played in Jack Aitchison who fed Reece Cole on the right. Spotting Ed Francis in space around 20 yards from goal, Cole played in his fellow midfielder who shot low, but it was straight down the keeper's throat.

In the 32nd minute, the entire St James Park crowd rose to their feet as, in a planned substitution, Sweeney was replaced by Villa loanee Sil Swinkels. Another pre-arranged switch happened soon after as Liam Oakes replaced Pat Jones, before Charlie Cummins had to be called into action, as Ed Turns went down and was deemed too hurt to continue.
Those flurry of substitutions disrupted the flow of the game, and there was only one more chance before the end of the first 45. Sprinting towards the Big Bank in a way familiar to many City fans, Key darted down the right for Swansea before cutting inside. He played in Ronald Perieira Martins, but his shot from close range was held by Whitworth.
Second half
After what some could describe as a cagey first half, it took less than 60 seconds for the deadlock to be broken at the start of the second 45.
Taking advantage of a bouncing ball down the left, Ilmari Niskanen broke free before squaring the ball into the centre of the penalty area, where Cox stabbed the ball home to put the Grecians 1-0 up with his third goal of City's pre-season campaign!
Swansea thought they had an equaliser just eight minutes later when Cameron Burgess headed a corner home, however it was ruled out by the assistant's flag, keeping the Grecians in the lead.
More chances appeared to present themselves in the second half, and in the 65th minute Joe Whitworth had to react fast to block Cameron Congreve's shot with his feet, before Liam Cullen shot a free-kick from 25 yards just wide.

Swansea thought they had an equaliser just eight minutes later when Cameron Burgess headed a corner home, however it was ruled out by the assistant's flag, keeping the Grecians in the lead.
More chances appeared to present themselves in the second half, and in the 65th minute Joe Whitworth had to react fast to block Cameron Congreve's shot with his feet, before Liam Cullen shot a free-kick from 25 yards just wide.
At the other end, Niskanen tried his luck cutting in from the left and letting fly from distance, a shot that forced Vigouroux to be at his best to push the ball over the bar.
Scottish forward Kieran Wilson, on as another change, shot from a similar area to Niskanen when he entered the pitch, trying instead to chip the keeper on the spin, but his effort brushed the top of the net, finishing on the wrong side of the crossbar.
Wilson had another fantastic effort saved moments later when, despite being surrounded inside the box by Swansea defenders, he kept hold of the ball before finding the space to shoot, but Vigouroux held his shot.
Just as the fourth official held up a board for three minutes added time, Swansea had the ball in the back of the net again, but for the third time it was disallowed. Zan Vipotnik met a fantastic ball at the back post and smashed a volley home off the bar, but he was judged to again be offside.
Swansea kept pushing but the Grecians held on, to claim victory and make it an unbeaten pre-season. A fantastic day for Pierce Sweeney, and a win for City!
Up Next:
Pre-season is over and we're ready for the League One campaign to commence! Join us next weekend on the road as 2025/26 kicks off at Doncaster Rovers, before we return to SJP at 3pm on August 9 for the visit of Blackpool. Click here for tickets!
City XI: Whitworth (GK), Niskanen, Sweeney (C) (Swinkels, 31'), Fitzwater, Turns (Cummins, 38'), Jones (Oakes, 35'), Brierley, Francis, Aitchison (Birch, 82'), Cole (Wilson, 70'), Cox.
Subs not used: Phillips (GK), Perkins.
Goals: Cox 46'
Swansea XI: Vigouroux (GK), Key, Fulton, Widell (Vipotnik, 70'), Tymon, Burgess (C), Franco, Cullen (Cooper, 88'), Galbraith, Periera Martins (Wales, 88'), Congreve (Wilson, 70').
Subs: Fisher (GK), S. Parker, A. Parker, Bates.
Attendance: 3948 (626 away)