Krishna spoke the Bhagavad Gita to Arjuna. Most likely candidate for spiritual knowledge is a Sannyasi (person in renounced order of life) or a Brahmin. Arjuna was neither of them. He was a Grihasta (married person) with several wives and children. Arjuna was also a warrior, politician, a soldier, all of which are the least likely occupations to take to spiritual life. Krishna spoke Bhagavad Gita to him, but that message was meant to convince Arjuna to put it into his life and to fight. It was not simply a dry speculative philosophy where one sits and listens and then thinks it to be a pious act and feels satisfied. Arjuna was not like that. He took this message of Gita and said “Alright, I have heard what you have said, Krishna. Now on the basis of these words, I am going to go out and fight for you. I am going to apply everything you said to my life at all costs even if it means death”. This is the spirit in which Arjuna heard and this is the spirit in which Krishna spoke. Krishna spoke the Bhagavad Gita to Arjuna to convince him to fight the battle of life for the sake of truth, for justice, for God.
Visit Radhanath Swami