Preheat oven to 350F. Grease and flour three 8" cake rounds and line with parchment.
In a medium bowl, whisk flour, baking powder, and salt until well combined. Set aside.
Using a stand mixer fitted with a paddle attachment, cream butter and orange zest until smooth. Add sugar and beat on med-high until pale and fluffy (approx 3mins).
Reduce speed and add eggs one at a time fully incorporating after each addition. Add vanilla.
Alternate adding flour mixture with milk & orange juice, beginning and ending with flour (3 additions of flour and 2 of milk & orange juice). Fully incorporating after each addition.
Toss cranberries in 1 Tbsp of flour. Gently fold cranberries into cake batter.
Spread batter evenly between the prepared pans and smooth the tops.
Bake for 25-30mins or until a toothpick inserted into the center comes out mostly clean.
Place cakes on wire rack to cool for 10mins then turn out onto wire rack.
Cream Cheese Buttercream:
Beat butter and orange zest until smooth. Add cream cheese and beat until smooth and combined.
Slowly add in 5 cups powdered sugar (1/2 cup at a time). Add vanilla. Beat on med-high for 5mins. Reduce speed to low and beat for 2mins.
Assembly:
Place one layer of cake on a cake stand or serving plate. Top with approximately 1 cup of buttercream. Repeat with remaining layers and crumb coat the cake. Chill for 20mins.
Frost the top and sides of the cake with remaining frosting. Do a swirl on the sides and top using a large offset spatula.
Do a crown of cranberries on top and add orange slices and thyme sprigs if desired.