New Jersey General Assembly District 28
New Jersey General Assembly District 28 is represented by Garnet Hall (D) and Cleopatra Tucker (D).
As of the 2020 Census, New Jersey state representatives represented an average of 116,181 residents. After the 2010 Census, each member represented 110,094 residents.
About the office
Members of the New Jersey General Assembly serve two-year terms and are not subject to term limits. New Jersey legislators assume office at noon of the second Tuesday in January following the election.[1]
Qualifications
In order to qualify as a candidate for the New Jersey General Assembly, a candidate must:[2]
- Be a citizen of the United States
- Be 21 years of age or older by the day of swearing in
- Be a registered voter
- Reside in the state for a minimum of two years prior to the general election
- Reside in the legislative district for one year prior to the general election
Salaries
- See also: Comparison of state legislative salaries
State legislative salaries, 2024[3] | |
---|---|
Salary | Per diem |
$49,000/year | No per diem is paid. |
Vacancies
If there is a vacancy in the New Jersey State Legislature, the vacancy will be filled by an interim appointment by the county leadership of the political party that holds the seat. The office will be on the ballot in the next general election, unless the vacancy occurs within 51 days of the election. If that is the case, the appointment would stand until the following general election.[4][5]
See sources: New Jersey Const., Art. IV, Sec. IV(1)
District map
Redistricting
2020 redistricting cycle
On February 18, 2022, the New Jersey Legislative Reapportionment Commission voted to approve a new set of state legislative maps.[6] The commission voted 9-2 to approve the maps. Thomas Kean Jr. (R) and Cosmo A. Cirillo (D) were the two dissenting votes.[7] The New Jersey Monitor's Nikita Biryukov wrote that the vote was "an unprecedented compromise for a commission that has historically relied on a court-appointed tiebreaker to end partisan gridlock."[6] These maps took effect for New Jersey's 2023 legislative elections.
How does redistricting in New Jersey work? In New Jersey, congressional and state legislative district boundaries are drawn by two distinct politician commissions. The congressional redistricting commission comprises the following 13 members:[8]
- The majority and minority leaders of each chamber of the New Jersey State Legislature appoint two commissioners a piece (for a total of eight members).
- The chairs of the state's two major political parties each appoint two members to the commission (for a total of four members). Commissioners appointed by the political parties cannot be members of Congress or congressional employees.
- The first 12 commissioners appoint the last member. This member cannot have held public office in the state within the previous five-year period. If the first 12 commissioners cannot agree on an appointment, they must submit two names to the New Jersey Supreme Court. The court must then appoint the final commissioner.
If the congressional redistricting commission fails to reach an agreement about a redistricting plan, it must submit two plans to the state Supreme Court, which must in turn select from those two plans a final map.[8]
The state legislative redistricting commission comprises 10 members. The chairs of the state's two major political parties each appoint five members to the commission. In the event that this commission is unable to reach an agreement about a redistricting plan, the state Supreme Court may appoint a tie-breaking member.[8]
State law requires that state legislative districts meet the following criteria:[8]
- Districts must be contiguous.
- Districts "must be as nearly compact as possible."
- Municipalities "must be kept intact, except where otherwise required by law."
There are no such requirements in place for congressional districts.[8]
New Jersey General Assembly District 28
until January 2, 2023
Click a district to compare boundaries.
New Jersey General Assembly District 28
starting January 3, 2023
Click a district to compare boundaries.
Elections
2025
See also: New Jersey General Assembly elections, 2025
General election
The candidate list in this election may not be complete.
General election for New Jersey General Assembly District 28 (2 seats)
Incumbent Cleopatra Tucker and Chigozie U. Onyema are running in the general election for New Jersey General Assembly District 28 on November 4, 2025.
Candidate | ||
![]() | Cleopatra Tucker (D) | |
Chigozie U. Onyema (D) |
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Democratic primary election
Democratic primary for New Jersey General Assembly District 28 (2 seats)
Incumbent Cleopatra Tucker and Chigozie U. Onyema defeated incumbent Garnet Hall in the Democratic primary for New Jersey General Assembly District 28 on June 10, 2025.
Candidate | % | Votes | ||
✔ | ![]() | Cleopatra Tucker | 38.7 | 14,108 |
✔ | Chigozie U. Onyema | 36.9 | 13,456 | |
Garnet Hall | 24.5 | 8,932 |
Total votes: 36,496 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Withdrawn or disqualified candidates
- Nadirah Brown (D)
Republican primary election
No Republican candidates ran in the primary.
Withdrawn or disqualified candidates
- Toye Kumolu (R)
- Che' J.T. Colter (R)
- Willie Jetti (R)
2023
See also: New Jersey General Assembly elections, 2023
General election
General election for New Jersey General Assembly District 28 (2 seats)
Incumbent Cleopatra Tucker and Garnet Hall defeated Joy Bembry-Freeman and Willie Jetti in the general election for New Jersey General Assembly District 28 on November 7, 2023.
Candidate | % | Votes | ||
✔ | ![]() | Cleopatra Tucker (D) | 46.3 | 19,094 |
✔ | Garnet Hall (D) | 45.2 | 18,637 | |
Joy Bembry-Freeman (R) | 4.6 | 1,902 | ||
Willie Jetti (R) | 3.9 | 1,600 |
Total votes: 41,233 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Democratic primary election
Democratic primary for New Jersey General Assembly District 28 (2 seats)
Garnet Hall and incumbent Cleopatra Tucker defeated Frank McGehee in the Democratic primary for New Jersey General Assembly District 28 on June 6, 2023.
Candidate | % | Votes | ||
✔ | Garnet Hall | 41.0 | 8,520 | |
✔ | ![]() | Cleopatra Tucker | 39.6 | 8,237 |
Frank McGehee | 19.4 | 4,025 |
Total votes: 20,782 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Republican primary election
Republican primary for New Jersey General Assembly District 28 (2 seats)
Joy Bembry-Freeman and Willie Jetti advanced from the Republican primary for New Jersey General Assembly District 28 on June 6, 2023.
Candidate | % | Votes | ||
✔ | Joy Bembry-Freeman | 53.0 | 274 | |
✔ | Willie Jetti | 47.0 | 243 |
Total votes: 517 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
2021
See also: New Jersey General Assembly elections, 2021
General election
General election for New Jersey General Assembly District 28 (2 seats)
Incumbent Ralph Caputo and incumbent Cleopatra Tucker defeated Monique Headen and Anthony D'Angelo in the general election for New Jersey General Assembly District 28 on November 2, 2021.
Candidate | % | Votes | ||
✔ | ![]() | Ralph Caputo (D) | 39.2 | 32,797 |
✔ | ![]() | Cleopatra Tucker (D) | 39.1 | 32,719 |
Monique Headen (R) | 10.8 | 9,063 | ||
Anthony D'Angelo (R) | 10.8 | 9,005 |
Total votes: 83,584 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Democratic primary election
Democratic primary for New Jersey General Assembly District 28 (2 seats)
Incumbent Cleopatra Tucker and incumbent Ralph Caputo advanced from the Democratic primary for New Jersey General Assembly District 28 on June 8, 2021.
Candidate | % | Votes | ||
✔ | ![]() | Cleopatra Tucker | 51.0 | 8,840 |
✔ | ![]() | Ralph Caputo | 49.0 | 8,490 |
Total votes: 17,330 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Republican primary election
Republican primary for New Jersey General Assembly District 28 (2 seats)
Anthony D'Angelo and Monique Headen advanced from the Republican primary for New Jersey General Assembly District 28 on June 8, 2021.
Candidate | % | Votes | ||
✔ | Anthony D'Angelo | 51.2 | 1,386 | |
✔ | Monique Headen | 48.8 | 1,320 |
Total votes: 2,706 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
2019
Elections for the New Jersey General Assembly took place in 2019. The primary was on June 4, 2019, and the general election was on November 5. The filing deadline for candidates was April 1, 2019.
General election
General election for New Jersey General Assembly District 28 (2 seats)
Incumbent Ralph Caputo and incumbent Cleopatra Tucker defeated Joy Bembry-Freeman, Antonio Pires, and Derrick Ross in the general election for New Jersey General Assembly District 28 on November 5, 2019.
Candidate | % | Votes | ||
✔ | ![]() | Ralph Caputo (D) | 41.4 | 16,234 |
✔ | ![]() | Cleopatra Tucker (D) | 40.8 | 15,998 |
Joy Bembry-Freeman (R) | 8.4 | 3,282 | ||
Antonio Pires (R) | 7.7 | 3,025 | ||
Derrick Ross (Independent) | 1.6 | 627 |
Total votes: 39,166 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Democratic primary election
Democratic primary for New Jersey General Assembly District 28 (2 seats)
Incumbent Cleopatra Tucker and incumbent Ralph Caputo defeated Stephen Burd in the Democratic primary for New Jersey General Assembly District 28 on June 4, 2019.
Candidate | % | Votes | ||
✔ | ![]() | Cleopatra Tucker | 48.0 | 4,553 |
✔ | ![]() | Ralph Caputo | 45.5 | 4,319 |
![]() | Stephen Burd ![]() | 6.6 | 622 |
Total votes: 9,494 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
Republican primary election
Republican primary for New Jersey General Assembly District 28 (2 seats)
Joy Bembry-Freeman and Antonio Pires advanced from the Republican primary for New Jersey General Assembly District 28 on June 4, 2019.
Candidate | % | Votes | ||
✔ | Joy Bembry-Freeman | 51.8 | 515 | |
✔ | Antonio Pires | 48.2 | 479 |
Total votes: 994 | ||||
![]() | ||||
If you are a candidate and would like to tell readers and voters more about why they should vote for you, complete the Ballotpedia Candidate Connection Survey. | ||||
Do you want a spreadsheet of this type of data? Contact our sales team. |
2017
General election
Elections for the New Jersey General Assembly took place in 2017. All 80 seats were up for election. State assembly members are elected to two-year terms. The general election took place on November 7, 2017. A primary election took place on June 6, 2017. The filing deadline for the primary election was April 3, 2017.[9] Legislative districts in the New Jersey General Assembly are multi-member districts, with two representatives in each district. In Democratic and Republican primary elections, the top two candidates move forward to the general election, and the top two candidates in the general election are declared the winners.[10] The following candidates ran in the New Jersey General Assembly District 28 general election.[11][12]
New Jersey General Assembly, District 28 General Election, 2017 | ||||
---|---|---|---|---|
Party | Candidate | Vote % | Votes | |
Democratic | ![]() |
42.70% | 30,084 | |
Democratic | ![]() |
42.08% | 29,643 | |
Republican | Veronica Branch | 6.87% | 4,839 | |
Republican | James Boydston | 6.63% | 4,672 | |
Time for change | Joanne Miller | 1.11% | 782 | |
A New Hope | Scott Thomas Nicastro Jr. | 0.61% | 430 | |
Total Votes | 70,450 | |||
Source: New Jersey Department of State |
Democratic primary election
Incumbent Cleopatra Tucker and incumbent Ralph Caputo were unopposed in the New Jersey General Assembly District 28 Democratic primary election.[13][14]
New Jersey General Assembly, District 28 Democratic Primary, 2017 | ||
---|---|---|
Candidate | Vote % | Votes |
![]() |
51.84% | 11,229 |
![]() |
48.16% | 10,433 |
Total Votes | 21,662 | |
Source: New Jersey Department of State |
Republican primary election
James Boydston and Veronica Branch were unopposed in the New Jersey General Assembly District 28 Republican primary election.[15][14]
New Jersey General Assembly, District 28 Republican Primary, 2017 | ||
---|---|---|
Candidate | Vote % | Votes |
![]() |
50.14% | 865 |
![]() |
49.86% | 860 |
Total Votes | 1,725 | |
Source: New Jersey Department of State |
2015
Elections for the New Jersey General Assembly took place in 2015. A primary election was held on June 2, 2015. The general election took place on November 3, 2015. The signature filing deadline for candidates wishing to run in this election was March 30, 2015.[16] Since the general assembly uses multi-member districts, the top two candidates from each party in the primaries advanced to the general election. Incumbent Ralph Caputo and incumbent Cleopatra Tucker were bracketed together and were unopposed in the Democratic primary. Darnel Henry and David Pinckney were bracketed together and were unopposed in the Republican primary. Caputo and Tucker defeated Henry and Pinckney in the general election.[17][18][19][20][21]
2013
Elections for the office of New Jersey General Assembly consisted of a primary election on June 4, 2013, and a general election on November 5, 2013. The signature filing deadline for candidates wishing to run in this election was April 1, 2013. Incumbent Ralph Caputo (D) and incumbent Cleopatra Tucker (D) defeated James Boydston (R) and Peter S. Manning (R) in the general election. Caputo and Tucker were bracketed together, and ran unopposed in the Democratic primary. Boydston and Manning were bracketed together, and ran unopposed in the Republican primary.[22][23][24][25]
2011
Elections for the office of New Jersey General Assembly consisted of a primary election on June 7, 2011, and a general election on November 8, 2011. The signature filing deadline for candidates wishing to run in this election was April 11, 2011. Incumbent Ralph Caputo (D) and incumbent Cleopatra Tucker (D) defeated Carol Humphreys (R) and David Pinckney (R) in the general election. Tucker and Caputo were bracketed together and defeated Michael Frazzano in the Democratic Primary. Humphreys and Sajda Barlas were unopposed in the Republican primary. Barlas was replaced by Pinckney on the general election ballot.[26][27][28]
Campaign contributions
From 2001 to 2023, candidates for New Jersey General Assembly District 28 raised a total of $1,239,009. Candidates who raised money in contributions earned $26,362 on average. All figures come from Follow the Money
Campaign contributions, New Jersey General Assembly District 28 | |||
---|---|---|---|
Year | Amount | Candidates | Average |
2023 | $123,063 | 5 | $24,613 |
2021 | $37,892 | 4 | $9,473 |
2011 | $246,377 | 5 | $49,275 |
2009 | $204,927 | 7 | $29,275 |
2007 | $277,132 | 7 | $39,590 |
2005 | $190,684 | 5 | $38,137 |
2003 | $54,544 | 4 | $13,636 |
2001 | $104,390 | 10 | $10,439 |
Total | $1,239,009 | 47 | $26,362 |
See also
- New Jersey State Legislature
- New Jersey State Senate
- New Jersey General Assembly
- New Jersey state legislative districts
External links
Footnotes
- ↑ New Jersey Constitution, "Article IV, Section II (2.)," accessed February 10, 2021
- ↑ NJ.gov, "PETITION FILING INSTRUCTION SHEET 2025 PRIMARY ELECTION NEW JERSEY GENERAL ASSEMBLY," accessed May 23, 2025
- ↑ National Conference of State Legislatures, "2024 Legislator Compensation," August 21, 2024
- ↑ New Jersey Legislature, "Our Legislature," accessed February 10, 2021
- ↑ New Jersey Legislature, "New Jersey Constitution," accessed February 10, 2021 (Article IV, Section 4, (1))
- ↑ 6.0 6.1 New Jersey Monitor, "Democrats, GOP agree on new legislative map for N.J.," February 18, 2022
- ↑ Insider NJ, "Redistricting Commission Finalizes Legislative Map by 9-2 Vote," February 18, 2022
- ↑ 8.0 8.1 8.2 8.3 8.4 All About Redistricting, "New Jersey," accessed May 6, 2015
- ↑ New Jersey Secretary of State, "2017 Primary Election Timeline," accessed March 21, 2017
- ↑ New Jersey Division of Elections, "Official List, Candidates for General Assembly for Primary Election, June 6, 2017," accessed April 13, 2017
- ↑ New Jersey Department of State, "Candidates for General Assembly for General Election 11/07/2017 Election," accessed September 14, 2017
- ↑ New Jersey Department of State, "2017 official general election results," accessed November 30, 2017
- ↑ New Jersey Division of Elections, "Official Candidate List," April 6, 2017
- ↑ 14.0 14.1 New Jersey Division of Elections, “2017 official primary election results for general assembly,” accessed July 13, 2017
- ↑ New Jersey Division of Elections, "Official Candidate List," April 6, 2017
- ↑ New Jersey Department of Elections, "2015 Primary Election Timeline," accessed February 2, 2015
- ↑ New Jersey Department of State, "Official candidate list for June 2 primary," accessed May 22, 2015
- ↑ New Jersey Department of State, "Unofficial primary election results," accessed June 3, 2015
- ↑ New Jersey Department of State, "Official list for candidate for General Assembly," accessed August 10, 2015
- ↑ New Jersey Department of State, "Official primary results for General Assembly," accessed August 10, 2015
- ↑ New Jersey Department of State, "Official general election results for General Assembly," accessed December 7, 2015
- ↑ New Jersey Department of Elections, "Official Primary Election Results," accessed July 26, 2013
- ↑ New Jersey Department of State, "Official general election candidates," September 9, 2013
- ↑ Associated Press, "New Jersey - Summary Vote Results," November 6, 2013
- ↑ New Jersey Department of State, "2013 Official General Election results," accessed December 6, 2013
- ↑ New Jersey Department of State, “2011 Official General Assembly Primary Candidate List,” accessed December 5, 2013
- ↑ New Jersey Department of State, “2011 Official General election results,” accessed December 5, 2013
- ↑ New Jersey Department of State, “2011 Official Primary election results,” accessed December 5, 2013