In a large pot, cook bacon over medium-high heat until crisp, stirring. Remove from the pot and drain on paper towel to soak up excess grease.
To the pot add the beef. Cook over medium-high heat, stirring often, until browned. Drain excess liquid or fat if there is any.
To the beef add the macaroni, broth/water, milk, salt and half of the cooked bacon.
Bring to a simmer over medium heat, cover and cook for about 10 minutes, stirring often. If all of the cooking liquid is used up before the pasta is cooked, gradually add in the additional milk. Continue cooking, uncovered, stirring, adding milk if necessary, until the pasta is al dente. (You want a little extra liquid in the pot because the cheese will thicken things up)
Add in 2 cups of cheese, and stir until melted.
Garnish with remaining cheese, bacon, and green onions if desired.