My son is the same age and had quite a severe speech delay but excellent understanding. After a year of wrangling, he finally got a hearing test- all clear.
I started him with a private speech therapist after the all clear hearing test, just before he turned 3, as I didn't want to delay any longer waiting for NHS.
She was amazing - his speech turned around almost overnight. He got signed off after 3 months and before his NHS appointment even happened (they also signed him off).
He's now nearly 3 and a half and his speech is fantastic.
The first thing our therapist advised was cut the extra speech we were using and go back down to 2/3 words. Ie instead of 'let's get our shoes on now shall we' change to ' put shoes on.'
It took a lot of work and concentration to focus in on all the advice but honestly, so worth it.
I don't think it would have happened naturally without the therapy - plus I started him at pre school and they supported the therapist's plan.
Good luck to your son, I hope the SLT works as well.