The really professional way
The professional way is to laugh into their face*. A maybe counter offer against something real right now? How dumb do they take you for? A promise is not a counter offer, a promise is nice when you work there anyway so you know that you're not off the radar, but it's not a counter-offer, because it is not an offer. And this is not even a promise to get something but a promise that maybe you get something, so basically it says nothing, because you may get something any time. You don't have to worry about burning bridges, they already burnt them.
Okay, look, since I thinkto me trying to help people learn to be better at their job is part of being a professional, so I'd communicate their "failure" clearly to them. But indeed, a bit more nuanced and less confrontational than just laughing into their faces, as that would get them on the wrong foot and they willwould be all defensive (just laugh when you come home). But to be really professional, I'd firmly say that a) this is not really a counter offer it is an empty promise and you cannot base your professional decisions on that and b) the other offer is better and you'll just take that, conversation ended.
The "nice" diplomatic way
However, if you don't want to ruffle any feathers, then yes the easy, polite and "professional" way is to be nice and just say "thank you, but I've decided to leave" without any comments as to why. If they press on a "why" you can go with something like "I like the offer and I really think it's time for me to see some other places. This is final." unless you want them to improve their offer. Then just state that the other offer is better and they'd need to match or top it in writing (and with immediate effect). Personally I wouldn't want to work at that place after this cheap attempt to sway you, but you may have your reasons to stay if you can.
Context matters!
A lot of this depends on why they want to only give you the "possibility of a promotion" in a few months. If the company has a fixed career roadmap that mandates reviews for promotions every X months along with potential salary increases, then what they say is totally fine. They just follow the rules of the company and apply them also to rogues that don't want to play by those rules. Applause to them. But then either you totally ignored the company policy or they did a terrible job communicating that policy. If they out of the blue just go with this "in a few months" excuse of an offer then it's all on them (and this answer assumes this case as you did not mention any reasoning as to why they can only offer you this semi-promise). So before you go with either approach, make sure you got the context right. And if you are not sure, rather go with a softer (i.e. the diplomatic) approach.