Le Parti de l'action populaire (PAP), au pouvoir depuis l'indépendance en 1965, a remporté 83 des 93 sièges et 61,2% des votes.
Un résultat nettement inférieur à celui des dernières élections de 2015, où le PAP avait obtenu 70% des voix.
Pour sa part, le Parti des travailleurs (opposition) a remporté 10 sièges, quatre de plus par rapport à son meilleur score. Le Premier ministre Lee Hsien Loong était visiblement déçu.
Le pourcentage des votes en faveur du PAP «n'est pas aussi élevé que je l'espérais», a-t-il reconnu lors d'une conférence de presse.
«Les résultats reflètent la souffrance et l'incertitude que les Singapouriens ressentent dans cette crise, la perte de revenus, l'inquiétude pour les emplois», a déclaré le Premier ministre, qui conserve son siège, mais avec un score en baisse.
Des commentateurs ont estimé que le score du parti au pouvoir pouvait notamment avoir été affaibli par un désir de changement chez les jeunes.