Does James contradict Jesus when he says some foods should not be eaten? In Matthew 15, we read:


  [Jesus] called the people to him and said to them, "Hear and understand: it is not what goes into the mouth that defiles a person, but what comes out of the mouth; this defiles a person ... Are you also still without understanding? Do you not see that whatever goes into the mouth passes into the stomach and is expelled? But what comes out of the mouth proceeds from the heart, and this defiles a person. For out of the heart come evil thoughts, murder, adultery, sexual immorality, theft, false witness, slander. These are what defile a person. But to eat with unwashed hands does not defile anyone." 


We see in Mark's account that "thus He declared all foods clean."

Now, when we move to James and the church elders in Acts 15, we find them writing a letter in which, among other things, they impose food requirements on the Gentile churches:


  For it has seemed good to the Holy Spirit and to us to lay on you no greater burden than these requirements: that you abstain from what has been sacrificed to idols, and from blood, and from what has been strangled, and from sexual immorality. If you keep yourselves from these, you will do well. Farewell." 


Do these statements contradict, or can they be correlated? If they contradict, then who gave James and the elders the authority to overrule the teachings of Jesus?
There seem to be two different questions addressed by the New Testament relevant to this issue:


Does eating certain foods defile a man?
Should certain people abstain from certain foods?


I don’t think the New Testament teachings contradict. Jesus’ teaching in Mark 7 declares that the first question is answered ‘no’: there is nothing inherent in certain foods that makes them defiling.

However, the answer to the second question is a tentative ‘yes’. Certainly Jews before the time of Christ were expected to keep the kosher laws. In the period directly following Jesus’ death, Jewish Christians were not about to give up their customs in an instant; they would continue to observe the kosher laws. As long as they didn’t fall prey to the hypocrisy of the Pharisees condemned by Jesus, there would be nothing very wrong with that.

The question then was: what about the Gentile Christians? Were they to keep the same laws as the Jewish Christians?

This more general question was brought up at the Apostolic Council at Jerusalem (see Acts 15). (The particular case addressed at that council had to do with circumcision, but their rulings had a broader impact than that. This is the decision they reached (Acts 15:19–20 NRSV)


  [James speaking:] “Therefore I have reached the decision that we should not trouble those Gentiles who are turning to God, but we should write to them to abstain only from things polluted by idols and from fornication and from whatever has been strangled and from blood.”


These restrictions placed on the Gentiles in no way encompassed all the precepts of the Torah; they are there to address the few violations which were particularly abominable to the Jews. The council did not declare that certain foods can defile a man; they only declared that at this place and time, it is better for the Gentiles not to offend the Jews by observing the things mentioned.

The issue is brought up again, once more with respect to food, in Romans 14. In this passage, Paul acknowledges the right of each Christian to act according to his own conscience. At the same time, he recognizes that the food itself is not what defiles a man (this agrees with Jesus’ teaching); he also says that those who do eat must not look down on those who don’t, and even that they should abstain if it becomes a point of contention.

The takeaway from both the Acts and the Romans passages is that extra restrictions may be placed upon certain people at certain times. However these reasons are pastoral and in no way nullify Jesus’ basic claim that no food, in and of itself, can be considered ‘clean’ or ‘unclean’.