The 22-year-old, who spent last season on loan with Scunthorpe United, made five Premier League appearances for the Baggies.
"Liam is a young player who has played in West Brom's first team. He's exactly what we want - a midfield player who can also play at the back, if required," manager Dean Saunders told the club's official website.
Meanwhile, O'Neil added: "The gaffer got in touch with West Brom and has shown good interest. He's been on my case to get down here all the time and that's what I like.
"He sees me as part of his plans and that's what I want. I want to be getting regular football and that's key for me now. I'm 22 now and this is perfect timing."
The Spireites have declined to reveal the length of O'Neil's contract.