Sobotka started his ice hockey career with HC Slavia Praha of the Czech Extraliga. He played 96 games throughout 4 seasons with them, scoring 10 goals and recording 19 assists. He was drafted with the 106th overall pick by the Boston Bruins in the 2005 NHL Entry Draft.
Sobotka's first goal as a member of the Blues came on November 6, 2010 against his former team, the Boston Bruins, beating Tuukka Rask after the puck was turned over in the Bruins' zone.[4][5] On June 15, 2011, he re-signed to a three-year contract with the Blues.[6] On March 9, 2013, he scored his first NHL hat trick against the San Jose Sharks in a 4-3 overtime win.[7]
On January 6, 2014, he was named to the Czech Republic's men's Olympic team roster,[8] but he suffered a leg injury on January 31 which prevented him from being able to take part in the Olympics. The Blues placed Sobotka on the injured reserve list and he missed the 2014 Olympic Winter Games.[9]
After the 2013-2014 season ended, he became a restricted free agent. Sobotka decided not to resign with the Blues and instead he was signed to a three-year contract by Avangard Omsk of the Kontinental Hockey League (KHL).[10] When the possibility of Sobotka playing in the KHL became clear, the Blues filed for salary arbitration in the NHL. On July 21, 2014, Sobotka received a one-year, $2.725 million award from an arbitrator. The result of the arbitration award is if Sobotka decides to return to the NHL at a later date, the Blues will retain his rights for a year at the amount that was awarded by the arbitrator. At the end of that year, Sobotka will become an unrestricted free agent in the NHL.[11]