We played 'Plyt' - an off-line family board game. Lots of practice in there, there is a luck element to lighten things up, and anyone can join in as you can set each individual's challenge level. Meaning that everyone has to 'think' and everyone has a chance to win.
You have 5 or 6 12-sided dice, one of which is a different colour than the others. So e.g. you set your level to two dice, multiply the two numbers that are thrown within the time set by the timer, move forwards on the board by the number on your 'black' dice. You can fix one dice to a defined number e.g. 4, to practice 4 times table, and only throw the other one. Grown ups can challenge themselves by throwing 4 or 5 dice which can be easy but throws up real mental maths challenges every now and then. Our toddler DD joined in - her challenge initially was simply to recognise and name the number thrown. She has now progressed to having to find 'one more' than the number thrown. You could also have someone add two (or more) dice for addition practice.
I agree with PPs that perhaps you need to forget about memorising TT for the moment and really focus on basic addition and subtraction. Get DS to memorise doubles and number bonds to 10, then 20. There is just no getting around that.
It has been a while but we used to talk doubles/number bonds whilst on the trampoline or swings. It's really not that much: 5x number bonds to 10, 10 (or maybe 12) doubles. It's also very helpful to be able to break any number 2-9 up into two parts quickly (for bridging).
The next step to me would be work on quickly recognising 'tricks' for fast addition. Use those 17 memorised 'number facts' every time you need to do a sum. So 56 +6 = 50 + double 6; near doubles; near 'number bonds' so if he recalls 7+3=10, then 7+4 needs to be one more than 10; using 10/multiples of 10 for bridging (though that will involve knowing a few more number facts), that kind of stuff.
Effectively if he understands numbers and place value (and it sounds like he does) then he needs to memorise doubles and number bonds to 10, and pretty much everything else he can work out quickly from that.
And when that is down pat, and the child understands multiplication, times tables are within reach. I personally much prefer teaching how to work them out quickly first, memorising second (because once they are memorised, lazy children like my DS will see no reason in learning how to work them out). But in order to be able to work them out speedily, you need to be able to do addition/subtraction/doubling speedily.
And after that, memorising. Here, repetition of course is key (DS used squeebles). And all kinds of things to help trigger your memory. DS loved things like 'I ate and ate until I was sick on the floor' (8x8=64) and noticing patterns like 5678 (56=7x8). For the 9x table rather than 10x-1x, or the finger calculator as mentioned above, DS learned by knowing that the tens figure will be one smaller than the number you're multiplying by, and the unit/ones figure will be the number bond to ten of the number you're multiplying by. But for your DS, OP, I think this is quite far off yet. Though those aide-memoires like the 'sick on the floor' one might help give him some confidence, but won't take you anywhere systematically. He needs to memorise doubling, and number bonds.
Maybe sell it to him by pointing out how few number facts he actually needs to learn, and that knowing them and applying them for fast mental addition will allow him to not have to memorise so many multiplication facts? E.g. that he can save himself memorising the entire 4x table if he can just double fast enough.