"What did you have for breakfast?"
Translation:Tu cos'hai avuto a colazione?
In your example, and in the question given, you're splitting the "have breakfast" with another word (two in your case). Fare colazione only works when kept together.
"Having something for breakfast" is grammatically different to "having breakfast".
Admittedly, when I saw this question my first thought was to use fare.