Tip the rice into a bowl and cover with cold water. Set it aside to soak. Crumble the stock cube into a heatproof jug and pour in 350ml boiling water. Stir to dissolve the stock cube, then set aside.
Peel and finely chop the onion. Trim the roots and top 1cm off the salad onion, then finely slice it. Put the white parts with the onion and the green parts in a bowl for later. Finely chop the tomato. Peel and crush or grate the garlic cloves. Crush 4 cardamom pods with the flat of your knife the just open them up. Set them all aside.
Chop the chicken breasts into bite-size chunks. Warm a large pan over a medium-high heat for 2 mins. Add 1 tbsp oil and the chicken. Fry for 5-8 mins, turning occasionally, till the chicken is golden brown all over. Lift the chicken out of the pan and set aside on a plate.
Add the onion, the white part of the salad onion and the tomato to the pan with 2 tbsp water and a pinch of salt. Turn the heat down to medium-low and cook, stirring, for 5 mins till the veg have started to soften.
Add the garlic and crushed cardamom pods to the pan and stir to mix. Add the Thai red curry paste, cinnamon stick and bay leaf. Stir to mix.
Tip the chicken back into the pan. Drain the rice and add it too. Pour in the chicken stock. Stir everything together. Pop a lid on the pan, turn up the heat and bring to the boil. When it's boiling, turn the heat down to very low and gently simmer for 10-15 mins till the rice is tender and the chicken is cooked through.
Take the dish off the heat and add the spinach. Fork it through to wilt it, fishing out the bay leaf, cinnamon stick and any cardamom pods you find.
Taste the Thai rice and add a pinch more salt if you think it needs it. Spoon the rice and chicken into two warm bowls. Garnish with the salad onion greens to serve.