Preheat oven to 200C/180C fan-forced. Line a large baking tray with baking paper.
Cut potatoes into 5cm chunks. Place in a large saucepan. Cover with cold water. Bring to the boil over medium-high heat. Boil for 5 minutes or until just tender. Drain. Transfer to prepared tray. Drizzle with 2 tablespoons oil. Toss to coat. Season well. Roast for 40 minutes, turning potato halfway through cooking. Add garlic. Roast for a further 15 minutes or until potato is golden and tender.
Place cream cheese, sour cream and milk in a small saucepan over medium heat. Cook, stirring, for 5 minutes or until melted and smooth. Squeeze garlic from skins into mixture. Add mustard and gruyère. Cook, stirring, for 5 minutes or until cheese is melted and smooth. Season with salt and pepper.
Meanwhile, heat remaining oil in a frying pan over medium-high heat. Add bacon. Cook, stirring occasionally, for 5 minutes or until golden. Remove from heat. Add onion. Stir to combine.
Add ΒΎ of the bacon mixture to cheese sauce. Place potato in a serving bowl. Drizzle sauce over potato. Season with pepper. Sprinkle with lemon zest and remaining bacon mixture. Serve.