Is is appropriate here, since "macaroni and cheese" refers to a single menu item, ordered as a unit. A similar pair might be "spaghetti and meatballs."
Two completely separate items would use are. For example, "Steak and chicken are on the menu."
Other options for a meal might use either verb, depending on how they are being discussed.
Lunch Menu
1. Hamburger and Fries
2. Fish and Chips
A hamburger and fries are on the menu.
A hamburger and fries is one option from the menu.
In the second sentence, the message is set up to emphasize that "hamburger and fries" are a single item with multiple parts.
Fish and chips would be closer to macaroni and cheese in the US, as we don't refer to this style of fried potatoes as chips except in this context, when paired with fried, battered white fish. Because these are grouped, you'd be more likely to hear someone say, "Fish and chips is on the menu" even though it would entirely appropriate to order them separately. "Fish and chips are on the menu" would also be entirely acceptable.
Best Answer
It would be grammatically correct to use "are" if the subjects were indeed "two" individually, but they are not.
By saying "One and one are two," that means that each "one" is two. The equivalent would be, "One is two, and one is two."
Saying "One and one is two" groups "one and one" to be the subject of the sentence. And "one and one" is two. ;)
In your post, you said "which question is grammatically correct?" You would ask, "Is one and one two?" Although, that can be confusing without something to separate the "one" and the "two" at the end. The preferred method would be "Does one plus one equal two?"