Why was Macbeth so afraid of Banquo that he had to kill both he and Fleance?
The only two people to hear the prediction of the witches were Macbeth and Banquo. Banquo, knowing these predictions, can readily suspect Macbeth of the murder of Duncan. In order to take care that this does not happen, Macbeth needs to have Banquo killed. His reason for having Fleance killed is that the witches told Banquo that he would be the father of kings, though none himself. Therefore to prevent Fleance being king, Macbeth must have him killed also.
I believe there are 2 reasons for this. One is due to the second part of the witches' predictions. Banquo was told he would not be a king, but his children would become king. This helps to secure the thrown for Macbeth. Also, Banquo is aware of the predictions the witches gave Macbeth and he saw his reactions. He would be the first logical character to become suspicious of Macbeth.
An interesting question. Macbeth had to kill Banquo (or tried to do so, and Fleance too) because of the other half of the prediction: Banquo's sons would be kings. That means Macbeth's line would be displaced, so Macbeth is trying to secure his heritage.
There are three reasons for his 'spur' onto his desire of killing both, Banquo and his son, Fleance. Banquo was his companion on the hearth, where they had met the witches and heard their controversial predictions. Banquo had asked them to 'look into the seeds of time' and tell him 'which grain will grow and which will not'. Also, Banquo's reaction to the prophecies had been very calm and composed, unlike that of Macbeth's, who was immediately set into a paranoia of 'deep and dark' thoughts. Consequently the witches had prophecised about him being a father to a line of kings. This is the most important of the three prophecies they make, as it comes in the way of Macbeth's sceptre to kingship. Macbeth realises that if Banquo's issue were to become kings, it was possible that the future of Scotland would be 'macbethless'. This thought was very disappointing and inorder to secure his sceptre and his crown for his future descendants he decides to kill both father and son.
Also, Banquo was not only a courageous and brave man, he was also suprememly intelligent and well guided by morals. If he had had suspicion on Macbth for having murdered Duncan, he was not one of the kind who would do nothing about it. There was a constant fear in Macbeth that Banquo knows one of the plausible reasons why he might have killed Duncan, and that in itself would lead into plenty speculation and judgement here on earth.
The reasons in short-
1) Banquo's presence when the prophecies were sounded
2) Banquo's over whelming intelligence and courage coupled with morals.
3) Possiblity of Fleance, and hence Banquo's issue coming to the throne.