They were denied a win as Andre Ayew's deflected free-kick cancelled out Kelechi Iheanacho's close-range opener.
The draw leaves them three points ahead of Manchester United, whose final game, against Bournemouth, was abandoned.
City's vastly superior goal difference means United would need a 19-0 win over the Cherries to take fourth place.
Listen to BBC Radio 5 live commentary of the goals
In many ways, Manchester City's display at the Liberty Stadium was a fitting way to end an underwhelming season that began with such promise before limping to a satisfactory but below-par conclusion.
Iheanacho - the on-field embodiment of a potentially exciting future - again demonstrated his sharpness in front of goal to poke home the opening goal after a Sergio Aguero shot had been saved in the fifth minute.
It was the 19-year-old's 14th goal of the season and his eighth from his first 12 shots on target in the Premier League.
But he and his side failed to build on it, missing numerous chances to put the game to bed, with the young forward and his usually lethal Argentine partner Aguero particularly wasteful.
It left them vulnerable to a Swansea equaliser - which came courtesy of a 25-yard Ayew free-kick that deflected in off Fernando's head - and a potentially devastating second in a tense second half for the away side.
In securing a top-four finish, Pellegrini has achieved the very minimum required of him before handing over to Pep Guardiola this summer, but it does not mask the failings of the Chilean's final campaign.
Despite winning the League Cup for a second time in three years and going further in the Champions League than ever before, City's expensively assembled squad have underachieved in the league.
Their haul of 66 points is their lowest in the top-flight since the 2008-09 season - the first under Sheikh Mansour's ownership.
Pellegrini leaves the Etihad with a league title to his name, the best win percentage of any Premier League manager barring Sir Alex Ferguson and Jose Mourinho and as the only City boss to have never finished below United.
But after starting so strongly, his reign has limped to its conclusion with a squad in need of an overhaul.
Media playback is not supported on this device
In their previous two matches, Swansea had ended the top-four hopes of both Liverpool and West Ham.
Despite resting goalkeeper Lukasz Fabianski, captain Ashley Williams and top scorer Gylfi Sigurdsson and being without Ki Sung-yueng because of his military service in South Korea, boss Francesco Guidolin came close to making it a hat-trick.
Since the Italian joined the club in January, the Swans have improved significantly, losing only five of his 16 matches in charge.
And they once again demonstrated their newly acquired stubbornness to extend their unbeaten home run to five games, during which they have conceded just twice.
Having tied Guidolin down to a two-year deal this week, the Swans will be optimistic of building on this next season and avoiding the kind of poor form that prompted his arrival.
Swansea boss Francesco Guidolin: "I am happy because the moment was not simple in January [when he took over]. Now we have a comfortable position in the table. I am happy. I am proud. My players deserve this position because we have a good team."
"It was a good performance, a good result, against in my opinion he best team in the Premier League in terms of quality, a lot of big, big players. And the game was good, we played well.
"I am happy, now. Only this for us and our players. This is a good memory."
Manchester City manager Manuel Pellegrini to BBC Sport: "I wanted to win the Premier League this season, but the atmosphere from February when the club announced the new manager was maybe not the best atmosphere.
Media playback is not supported on this device
"We lost two important games at home when we were three points behind the leaders.
"The only option we had today was that we needed to get the point to get Champions League for next year."
Manchester City goalkeeper Joe Hart, speaking to BBC Sport: "It is not what we set out to do at the start of the season but we will have to take it (fourth place).
"It was strange day, getting the job done, barring a  mathematical freak, we have Champions League football next season.
"At the start of the season, well into this season  we were well in the title race, but we let ourselves down, we will take positives of a trophy and semi-final of the Champions League, which was history for our club and we have Champions League next year and we have to take that.
"I have enjoyed our time under Manuel, it was important we finished off a good three years working with him."
Match ends, Swansea City 1, Manchester City 1.
Second Half ends, Swansea City 1, Manchester City 1.
Foul by Kevin De Bruyne (Manchester City).
Angel Rangel (Swansea City) wins a free kick in the defensive half.
Substitution, Manchester City. Yaya Touré replaces Sergio Agüero.
Foul by Eliaquim Mangala (Manchester City).
Jack Cork (Swansea City) wins a free kick in the defensive half.
Foul by Gaël Clichy (Manchester City).
Modou Barrow (Swansea City) wins a free kick in the defensive half.
Delay over. They are ready to continue.
Substitution, Swansea City. Bafétimbi Gomis replaces Jefferson Montero.
Delay in match Bacary Sagna (Manchester City) because of an injury.
Foul by Bacary Sagna (Manchester City).
Jefferson Montero (Swansea City) wins a free kick in the defensive half.
Foul by Bacary Sagna (Manchester City).
Jefferson Montero (Swansea City) wins a free kick in the defensive half.
Foul by Samir Nasri (Manchester City).
Angel Rangel (Swansea City) wins a free kick in the defensive half.
Corner,  Manchester City. Conceded by Angel Rangel.
Leon Britton (Swansea City) is shown the yellow card for a bad foul.
Foul by Leon Britton (Swansea City).
Kevin De Bruyne (Manchester City) wins a free kick in the defensive half.
Substitution, Manchester City. Samir Nasri replaces Kelechi Iheanacho.
Attempt missed. Kelechi Iheanacho (Manchester City) left footed shot from outside the box is high and wide to the left. Assisted by Jesús Navas.
Foul by Sergio Agüero (Manchester City).
Jordi Amat (Swansea City) wins a free kick in the defensive half.
Bacary Sagna (Manchester City) is shown the yellow card for a bad foul.
Foul by Bacary Sagna (Manchester City).
Jefferson Montero (Swansea City) wins a free kick on the left wing.
Foul by Eliaquim Mangala (Manchester City).
André Ayew (Swansea City) wins a free kick in the attacking half.
Attempt missed. Fernandinho (Manchester City) right footed shot from outside the box misses to the left. Assisted by Kelechi Iheanacho.
Attempt missed. Sergio Agüero (Manchester City) right footed shot from the centre of the box misses to the left.
Offside, Manchester City. Jesús Navas tries a through ball, but Kevin De Bruyne is caught offside.
Corner,  Manchester City. Conceded by Angel Rangel.
Foul by Leroy Fer (Swansea City).
Fernandinho (Manchester City) wins a free kick in the attacking half.
Substitution, Swansea City. Modou Barrow replaces Wayne Routledge.
Attempt missed. Federico Fernández (Swansea City) header from the centre of the box misses to the left. Assisted by Stephen Kingsley with a cross following a corner.
Corner,  Swansea City. Conceded by Bacary Sagna.
Manchester City are all but assured of a place in next season's Champions League as Manuel Pellegrini's time at the club ended with a draw at Swansea.