Boston City Council elections were held on November 5, 2019. Nomination forms could be submitted starting April 17, and candidates had a filing deadline of May 21. A preliminary election was held on September 24. By law, Boston municipal elections are nonpartisan—candidates do not represent a specific political party.

For the four at-large seats: all four incumbents sought re-election. Election night results showed that three incumbents were re-elected, and one new at-large councillor was elected, by a margin of only 10 votes over the next-highest vote-getter. A recount of that race confirmed that result but by only a single vote.

For the nine district seats: six incumbents sought re-election; two were contested and four ran uncontested—election night results showed that all six were re-elected. Three new district councillors were elected, for seats where incumbents were not seeking re-election. All district winners won by comfortable margins.

Council members elected in November 2019 were inaugurated on January 6, 2020.

Incumbents The council members at the time of both the preliminary election and general election were as listed below. The table further indicates if each incumbent ran for re-election, and if so, whether they were re-elected or not.

District Name Entered office Ran Re-elected Ref.At-large Michelle Wu January 2014 Yes Yes Michael F. Flaherty January 2014 Yes Yes Annissa Essaibi George January 2016 Yes Yes Althea Garrison January 2019 Yes No 1 Lydia Edwards January 2018 Yes Yes 2 Ed Flynn January 2018 Yes Yes 3 Frank Baker January 2012 Yes Yes 4 Andrea Campbell January 2016 Yes Yes 5 Timothy McCarthy January 2014 No   6 Matt O'Malley November 2010 Yes Yes 7 Kim Janey January 2018 Yes Yes 8 Josh Zakim January 2014 No   9 Mark Ciommo January 2008 No   Council President

Filled vacancy created by resignation of Ayanna Pressley upon her election to the United States House of Representatives

Logistics

A preliminary election was held on September 24 to select candidates for four districts, and at-large, for the general election. Voter turnout was 11.17%, as 44,972 of the city's 402,536 registered voters cast ballots. The general election was held on November 5, registering 16.5% voter turnout, as 67,011 ballots were cast.

At-large election The top eight vote-getters in the preliminary election qualified for the general election of four seats. Late on the night of the general election, with only a 10-vote margin between candidates for the final at-large seat, fifth-placed Alejandra Nicole St. Guillen called for a recount. The election department subsequently corrected the tallies of some hand-counted ballots, resulting in a margin of five votes as of November 13 (22,477 to 22,472), and tallied provisional ballots, resulting in a margin of eight votes on November 15 (22,500 to 22,492).

Boston election laws require that a candidate seeking a recount submit 50 signatures from registered voters within each ward where a recount is requested, within 10 days of the election. On November 15, St. Guillen submitted 2,000 signatures in support of a recount. Recount signatures, and the results in all other contests, were planned to be certified by Board of Election Commissioners on November 20. The date for the recount was subsequently announced as December 7. The result of the recount was announced on December 9, and confirmed Julia Mejia as winner of the final seat, by a margin of one vote—22,492 votes to 22,491 votes. On December 10, St. Guillen conceded the race, rather than appealing contested ballots.

!colspan=1 rowspan=2 |Candidates !colspan=2 |Preliminary election !colspan=2 |General election !colspan=2 |Recount |- !Votes !% !Votes !% !Votes !% |- | Michelle Wu (incumbent) | align="right" | 26,622 | align="right" | 19.4 | align="right" | 41,643 | align="right" | 20.7 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Annissa Essaibi George (incumbent) | align="right" | 18,993 | align="right" | 13.8 | align="right" | 34,074 | align="right" | 17.0 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Michael F. Flaherty (incumbent) | align="right" | 18,766 | align="right" | 13.7 | align="right" | 33,269 | align="right" | 16.6 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Julia Mejia | align="right" | 10,799 | align="right" | 7.9 | align="right" bgcolor=pink | 22,477 | align="right" | 11.2 | align="right" | 22,492 | align="right" | — |- | Alejandra St. Guillen | align="right" | 11,910 | align="right" | 8.7 | align="right" bgcolor=pink | 22,472 | align="right" | 11.2 | align="right" | 22,491 | align="right" | — |- | Erin Murphy | align="right" | 9,385 | align="right" | 6.8 | align="right" | 16,853 | align="right" | 8.4 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Althea Garrison (incumbent) | align="right" | 9,720 | align="right" | 7.1 | align="right" | 16,175 | align="right" | 8.1 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | David Halbert | align="right" | 6,354 | align="right" | 4.8 | align="right" | 13,209 | align="right" | 6.6 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Martin Keogh | align="right" | 6,246 | align="right" | 4.5 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Jeffrey Ross | align="right" | 5,078 | align="right" | 3.7 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Priscilla Flint-Banks | align="right" | 4,094 | align="right" | 3.0 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Domingos DaRosa | align="right" | 2,840 | align="right" | 2.1 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Michel Denis | align="right" | 2,108 | align="right" | 1.5 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | William A. King | align="right" | 1,809 | align="right" | 1.3 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Herb Lozano | align="right" | 1,510 | align="right" | 1.1 | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Write-in | align="right" | 766 | align="right" | 0.6 | align="right" | 890 | align="right" | 0.4 | bgcolor=lightgrey|  | bgcolor=lightgrey|  |- | Total | align="right" | 137,380 | align="right" | 100 | align="right" | 201,014 | align="right" | 100 | bgcolor=lightgrey|  | bgcolor=lightgrey| 

District seat elections District 1 The incumbent, Lydia Edwards, ran unopposed.

!colspan=1 rowspan=2 |Candidates !colspan=2 |General election |- !Votes !% |- |Lydia Edwards | align="right" | 4,398 | align="right" | 96.6 |- | Write-in | align="right" | 155 | align="right" | 3.4 |- | Total | align="right" | 4,553 | align="right" | 100

District 2 The incumbent, Ed Flynn, ran unopposed.

!colspan=1 rowspan=2 |Candidates !colspan=2 |General election |- !Votes !% |- | Ed Flynn | align="right" | 6,367 | align="right" | 97.0 |- | Write-in | align="right" | 194 | align="right" | 3.0 |- | Total | align="right" | 6,561 | align="right" | 100

District 3 The incumbent, Frank Baker, ran unopposed.

!colspan=1 rowspan=2 |Candidates !colspan=2 |General election |- !Votes !% |- | Frank Baker | align="right" | 4,826 | align="right" | 95.4 |- | Write-in | align="right" | 235 | align="right" | 4.6 |- | Total | align="right" | 5,061 | align="right" | 100

District 4 No preliminary election was necessary, as the only two candidates were listed on the general election ballot.

!colspan=1 rowspan=2 |Candidates !colspan=2 |General election |- !Votes !% |- | Andrea Campbell | align="right" | 4,557 | align="right" | 87.2 |- | Jeff Durham | align="right" | 636 | align="right" | 12.2 |- | Write-in | align="right" | 35 | align="right" | 0.7 |- | Total | align="right" | 5,228 | align="right" | 100

District 5 The top two vote-getters in the preliminary election qualified for the general election.

!colspan=1 rowspan=2 |Candidates !colspan=2 |Preliminary election !colspan=2 |General election |- !Votes !% !Votes !% |- | Ricardo Arroyo | align="right" | 2,235 | align="right" | 29.5 | align="right" | 5,329 | align="right" | 54.5 |- | Maria Esdale Farrell | align="right" | 1,813 | align="right" | 23.4 | align="right" | 4,399 | align="right" | 45.0 |- | Jean-Claude Sanon | align="right" | 1,156 | align="right" | 15.3 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Mimi E. Turchinetz | align="right" | 1,098 | align="right" | 14.5 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Alkia T Powell | align="right" | 572 | align="right" | 7.6 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Cecily Leticia Graham | align="right" | 399 | align="right" | 5.3 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Justin Matthew Murad | align="right" | 154 | align="right" | 2.0 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Yves Mary Jean | align="right" | 123 | align="right" | 1.6 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Write-in | align="right" | 12 | align="right" | 0.2 | align="right" | 40 | align="right" | 0.4 |- | Total | align="right" | 7,571 | align="right" | 100 | align="right" | 9,777 | align="right" | 100

District 6 The incumbent, Matt O'Malley, ran unopposed.

!colspan=1 rowspan=2 |Candidates !colspan=2 |General election |- !Votes !% |- | Matt O'Malley | align="right" | 8,834 | align="right" | 95.4 |- | Write-in | align="right" | 427 | align="right" | 4.6 |- | Total | align="right" | 9,261 | align="right" | 100

District 7 The top two vote-getters in the preliminary election qualified for the general election.

!colspan=1 rowspan=2 |Candidates !colspan=2 |Preliminary election !colspan=2 |General election |- !Votes !% !Votes !% |- |Kim Janey | align="right" | 2,145 | align="right" | 70.0 | align="right" | 3,852 | align="right" | 74.5 |- | Roy Owens Sr. | align="right" | 517 | align="right" | 16.8 | align="right" | 1,266 | align="right" | 24.5 |- | Valerie Hope Rust | align="right" | 381 | align="right" | 12.4 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Write-in | align="right" | 24 | align="right" | 0.8 | align="right" | 53 | align="right" | 1.0 |- | Total | align="right" | 3,069 | align="right" | 100 | align="right" | 5,178 | align="right" | 100 |} Candidate for re-election

District 8 The top two vote-getters in the preliminary election qualified for the general election.

!colspan=1 rowspan=2 |Candidates !colspan=2 |Preliminary election !colspan=2 |General election |- !Votes !% !Votes !% |- | Priscilla Kenzie Bok | align="right" | 2,032 | align="right" | 50.4 | align="right" | 3,662 | align="right" | 70.1 |- | Jennifer Ann Nassour | align="right" | 740 | align="right" | 18.3 | align="right" | 1,540 | align="right" | 29.5 |- | Helene Vincent | align="right" | 587 | align="right" | 14.6 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Kristen Mobilia | align="right" | 511 | align="right" | 12.7 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Montez David Haywood | align="right" | 149 | align="right" | 3.7 | align="right" bgcolor=lightgrey |   | align="right" bgcolor=lightgrey |   |- | Write-in | align="right" | 14 | align="right" | 0.3 | align="right" | 23 | align="right" | 0.4 |- | Total | align="right" | 4,039 | align="right" | 100 | align="right" | 5,229 | align="right" | 100

Nassour sought to become the first self-identified (as Boston municipal elections are non-partisan) Republican elected to the City Council since John W. Sears in November 1979.

District 9 The top two vote-getters in the preliminary election qualified for the general election.

!colspan=1 rowspan=2 |Candidates !colspan=2 |Preliminary election !colspan=2 |General election |- !Votes !% !Votes