Grease or line an 8” x 8” (20 x 20cm) baking pan with parchment paper. Preheat oven to 375°F (190°C).
Make base:
In a large bowl, combine flour, sugar, baking powder, and salt. Stir to combine.
Add the oil and water. Stir until a crumbly mixture forms.
Press mixture into pan. Pat into an even layer.
Bake for 10 minutes until just firm and golden at the edges.
Make filling:
In a blender, combine the sweet potato puree, coconut milk, and sugar. Puree until smooth.
Add the cornstarch, vanilla, salt, and spices. Blend on low speed until completely combined, smooth, and pale orange.
Pour on top of hot base and level out. Sprinkle a light dusting of cinnamon on top.
Reduce oven temperature to 325°F (160°C). Bake for 40-50 minutes until firm on the edges when jiggled and not moving in the center, and dull on top.
Cool in pan completely before removing and cutting.
Store in the fridge for up to 3 days. Can be frozen for up to 1 month. Defrost gently in fridge overnight.
Notes
For the sweet potato puree you can roast the sweet potatoes or simmer them in chunks in water until soft.
The crust will not look done when you remove it from the oven before pouring on the sweet potato mixture. So long as it is slightly golden, it will hold together, though.
Don’t forget to reduce the temperature of the oven between baking the crust and baking the bars. Otherwise, the bars will cook too quickly and lose their soft topping.