Jesus gave the Eucharist at the end of the Last Supper after he and the apostles had already eaten a meal, so why do Catholics have to fast before Communion?
First of all, it is not precisely known at what point during the Last Supper that Jesus gave his disciples Communion. For all that is known at this point, it may have been before the ritual Seder meal. But let’s presume for the sake of argument that it was after. The eucharistic fast is a discipline—not a doctrine—of the Church. It is meant to help Catholics prepare for the awesome privilege of receiving Christ’s body, blood, soul, and divinity. As a discipline, it can be modified or abolished. Indeed, just in the last century, the eucharistic fast was reduced from several hours to just one.
There is some scriptural evidence that the eucharistic fast may have been an early discipline of the Church. Paul writes this about the practice of eating and drinking during the liturgy:
What! Do you not have houses to eat and drink in? Or do you despise the church of God and humiliate those who have nothing? What shall I say to you? Shall I commend you in this? No, I will not. . . . So then, my brethren, when you come together to eat, wait for one another—if any one is hungry, let him eat at home—lest you come together to be condemned (1 Cor. 11:22, 33–34).