Preheat oven to 375°F (190°C). Heat oil in large skillet over medium heat. Add onion and cook 5 to 7 min., or until starting to brown. Add garlic and cook 1 min, or until golden. Transfer onion and garlic to plate to cool.
Meanwhile, in large bowl, whisk together eggs, milk, mustard, salt and pepper. Mix in bread cubes; allowing them to soak up egg mixture; about 2 min. Mix in ¼ cup (60 mL) cheese, ham, chives, cooled onions and garlic.
Pour into greased 9-in. (23-cm) square baking dish. Top with remaining ¼ cup (60 mL) cheese. Cover with foil. Bake 20 min. Remove foil and bake an additional 20 min., until bread pudding is set and cheese topping is golden.
Substitute 1 chopped leek for onion and equal amount of Swiss cheese for the Cheddar.