Democratic state Sen. Dan Kotowski beat Republican challenger Jim O'Donnell in the race to represent the 28th Senate District.
With 141 of 144 precincts reporting, unofficial vote totals show Kotowski's 43,350 votes offer him a decisive lead of almost 11,000 votes over O'Donnell, who has garnered 32,294 votes.
During the campaign, Kotowski focused on his track record and accomplishments in the Senate over six years.
Kotowski touted his efforts to kill the long-abused legislative scholarship program and get rid of "unnecessary perks" for politicians. He also helped pass legislation to confiscate campaign funds and pensions of politicians convicted of fraud or corruption, and sponsored legislation to eliminate free health care for life for retired politicians and state employees.
O'Donnell's top campaign issues were balancing the state budget, repealing the 2011 state income tax increase, setting term limits for lawmakers, creating a positive economic climate, and pushing for meaningful pension reform.
The candidates disagreed on how to resolve the state's pension crisis and improve the jobs climate.
On pensions, Kotowski supports preventing politicians from double-dipping, while O'Donnell supports creating a hybrid pension plan for state employees blending defined benefits and contributions.
Kotowski, 45, of Park Ridge, currently represents the 33rd Senate District.
O'Donnell, 61, a political newcomer also of Park Ridge, is vice president and chief financial officer of Camcraft Inc.
Democratic state legislators drew a new map after the 2010 Census. The district runs from Roselle east through Schaumburg, Elk Grove Village, Des Plaines, Rosemont and Park Ridge.