Preheat oven to 350°F (180°C). Cook pasta according to package directions but reduce cooking time by 2 min. Drain.
Heat the butter over medium heat in the same saucepan. Add onion. Cook, stirring for 5 to 8 min, or until tender. Sprinkle evenly with flour. Cook for 2 min. Slowly whisk in milk until smooth. While stirring constantly, bring to a boil. Cook, stirring frequently, for 10 to 12 min or until sauce thickens slightly. Stir in 1 ½ cups cheese and prepared macaroni.
Meanwhile, in a large skillet, cook bacon over medium heat until crisp, about 10 to 12 min. Using a slotted spoon, remove to paper towels; drain. Add all except ¼ cup bacon to pasta mixture; stir to combine.
Transfer to a greased 13-in. x 9-in. (33 x 23 cm) baking dish. Top with remaining bacon and cheese. Bake for 20 minutes or until bubbling and golden.