Shea Hillenbrand homered in the 11th inning to give the Blue Jays a 3-2 win over Chicago on Saturday.
Guillen ripped his team after they failed to execute some plays and went 3-for-10 with runners in scoring position.
"If they're not willing to play, there's going to be a lot of changes to this lineup pretty soon," said Guillen, whose team is in second place in the AL Central with a 31-17 record.
"The execution was terrible, horrible. We didn't lose this game because of a home run, we lost this game because we didn't do what we're supposed to do on the field from the first inning. We didn't bunt the ball when we were supposed to bunt the ball."
Guillen also might have been upset at Jermaine Dye, who didn't hustle and was thrown out by right fielder Alex Rios while trying to go first to third on Joe Crede's single. It was the last out of the 10th.
"If they want to be a bad team, they can continue to do that, I'll play somebody else. I don't care who they are and what they do. My job is to try and win games and that's what I'm going to do. If they don't like what I say, they can leave and do whatever they want to do," Guillen said. "We're better than this. We're way better than this. If you want to be in second place, keep playing like that. If you want to win, we have to be better and that starts right now. It's not because Detroit is winning."
Crede said they just lost to a tough team.
"I'm not the manager. I'm not the one who makes decisions, but you got to look at the position we are in. It's a good ballclub over there. We fought them pretty good," Crede said.
With one out, Hillenbrand homered to left off Jeff Nelson (0-1). It was Hillenbrand's seventh homer of the season.
Hillenbrand apparently read reports about a possible trade to the Los Angeles Angels because he all but pleaded to stay with Toronto.
"I love my teammates. We have all been supportive of each other. We've all been leaning on each other. The camaraderie in this clubhouse is unbelievable," Hillenbrand said. "That's why I love B.J. Ryan. He went out there and blew his first save, but he didn't care. He didn't let that get to him. He did an unbelievable job. I love my teammates here. We are having fun in here. These are the best guys I've been around in baseball."
Scott Schoeneweis (1-0) got the last out of the top of 11th for the victory.
Ryan blew his first save of the season in the ninth after converting his first 11 chances.
Crede led off the ninth with a double and advanced to third on Pablo Ozuna's sacrifice bunt. Catcher Gregg Zaun bobbled the ball, allowing Ozuna to reach first on an error.
Juan Uribe followed with an infield single that tied the game 2-2.
Frank Catalanotto gave Toronto a 2-1 lead in the eighth with an RBI double off Brandon McCarthy. Aaron Hill led off the inning with a single before advancing to second on John McDonald's sacrifice bunt. Alex Rios popped up for the second out, but Catalanotto hit a curveball into the corner in left.
The White Sox wasted a fine start from Jose Contreras, who got a no-decision despite allowing just one run and five hits in seven innings.
Since losing to Minnesota on Aug. 15, Contreras has made 16 starts, winning 13. The streak is the fourth-longest by a White Sox pitcher since 1970, and the longest since Wilson Alvarez put up 15 straight wins from Aug. 24, 1993-May 27, 1994.
Toronto rookie Casey Janssen also pitched well, allowing just one run and seven hits in 5 1-3 innings. He lowered his ERA to 3.25.
"I kept my team in the game," Janssen said.
Scott Podsednik's based loaded walk gave Chicago a 1-0 lead in the first, but Zaun's RBI grounder tied it in the bottom half.
- Rios has a career-high 13 game hit streak.
- Chicago DH Jim Thome went 0-for-6 with three strikeouts.
- The White Sox played eight straight games in stadiums that have roofs before playing in the open air in Toronto's Rogers Center on Saturday. "It's a beautiful park. There's nothing better in baseball than when the sunshine is out. We come from Chicago. It's kinda of cold. It's a nice today," Guillen said.