01 - Preheat oven to 350°F. Line a 9x5-inch loaf pan with parchment paper and lightly grease with butter or cooking spray.
02 - Combine cranberries, granulated sugar, water, and orange zest in a small saucepan. Bring to a simmer over medium heat and cook for 6–8 minutes, stirring frequently, until cranberries burst and mixture thickens. Mash lightly with a fork and set aside to cool completely.
03 - In a medium bowl, whisk together gluten-free flour, baking powder, baking soda, salt, cinnamon, ginger, nutmeg, and cloves until well combined.
04 - In a large bowl, beat softened butter and brown sugar with an electric mixer until light and fluffy, about 3 minutes. Add eggs one at a time, beating well after each addition, then mix in vanilla extract.
05 - Add yogurt and milk to the butter mixture, mixing until just combined (mixture may appear slightly curdled). Gradually fold in the dry ingredients until a smooth batter forms, being careful not to overmix.
06 - Spread half the batter evenly into the prepared pan. Dollop half the cooled cranberry mixture over the batter and swirl gently with a knife. Repeat with remaining batter and cranberry swirl, creating a marbled pattern.
07 - Bake for 50–55 minutes, or until a toothpick inserted in the center comes out clean or with just a few moist crumbs. If the top browns too quickly, tent loosely with foil after 40 minutes.
08 - Let the cake cool in the pan for 15 minutes, then carefully remove using the parchment paper and transfer to a wire rack. Cool completely before slicing into 8–10 servings.