Preheat oven to 400°F. Line a 15x10x1-inch baking pan with parchment paper; set aside. Place cauliflower in a large bowl. Add 2 teaspoons oil and 1/4 teaspoon salt; toss gently to coat. Transfer cauliflower to the prepared baking pan. Roast about 20 minutes or until tender and browned. Reduce oven temperature to 350°F.
Meanwhile, in a large saucepan cook macaroni according to package directions; drain. Rinse with cold water; drain again. Return macaroni to saucepan.
For cheese sauce, in a large nonstick skillet heat 1 tablespoon oil over medium heat. Add onion; cook about 3 minutes or until tender, stirring occasionally. Add garlic; cook and stir for 30 seconds. In a medium bowl whisk together milk, flour, and 1/2 teaspoon salt until smooth; gradually stir into onion mixture. Cook and stir over medium heat until slightly thickened and bubbly. Reduce heat to low. Stir in cream cheese until melted. Remove from heat. Gradually add cheddar cheese, stirring just until melted.
Add cauliflower and cheese sauce to macaroni; stir gently to combine. Transfer mixture to a 3-quart rectangular baking dish. In a small bowl combine bread crumbs, Parmesan cheese, and thyme. Add 1 teaspoon oil; toss to coat. Sprinkle crumb mixture over macaroni mixture. Bake for 25 to 30 minutes or until heated through and crumbs are lightly browned.