Here are some ideas for dealing with overly clever players.
Let the wookie win.
Sometimes the party does something clever. You can take it away in a contrived fashion and they'll resent you for it. Or you can give them bragging rights and they'll proudly tell all their friends about the time they took down a dracolich at level 3 with a potion of invisibility, a dozen tooth picks, and a squirrel. Even if it breaks your game session, this is something the players will look back on fondly.
Don't make your challenges winnable.
I used to throw challenges at my players with a solution in mind. Then I realized that there were four through seven players in my games. Even if I was the smartest person at the table, the sum of the things they could come up with was not a strict subset of the things I could come up with. They'll think of things I won't (and if they can't, that's my failure for picking boring players!)
The point is I stopped working out a win button for all my challenges. I'd usually have an approach or two in mind, but I wouldn't chisel away the difficulty to make sure that approach worked. Often my idea was just a starting point and needed one or two other contributions before it could work.
One of the advantages with this approach is that when the player does something clever to beat the challenge, you'll be delighted instead of disappointed.
(Note that I'm not saying make the challenges unwinnable. Just refrain from taming the challenge in order to make your win button work.)
Spy on your players
This is where you take advantage of the fact that the players will come up with things you can't, and exploit them for it.
I ran a thieves guild game a while back. Instead of dungeons we ran heists. I'd give them a goal with some weird premise for them to work their way around.
At first I mapped out everything. This wasn't feasible long term because I didn't know where they'd be approaching from. If I drew out the whole castle I might forgot the sewer for instance. It became obvious that I'd have to improvise.
The thing that was interesting about improvising is that the players really got into planning. They took longer to plan their heists than to run them. While they were planning, they tried to enumerate all the angles of attack and come up with contingencies for every way the target could defend itself. And they did this in front of me.
GMing that game meant taking notes of what they wanted to do and drawing really quickly. I sketched out maps of the paths they could take (usually as they scouted them) and listed the defenses they thought they could overcome, paying particular attention to the ones they thought of and then forgot midway through planning. I added my own ideas too and wasn't just poaching hazards from the players.
Anyway this approach let me use the players' cleverness against them. I was able to use it constantly in the heist format. Not sure if it's something you can do every session elsewhere.