Garuda and Nagas are enemies of each other. Yet, both of them are vehicles of Lord Vishnu. How is this possible ? What is the implied symbolism behind this ?

There is indeed a symbolism involved in this apparent contradiction. Lord Vishnu has the basic function of ensuring that the world functions properly. Clearly, world’s natural state is not that of stability. The world is chaotic and it is Lord Vishnu who ensures order. The fact that he uses both Garuda and Snake as his vehicle suggests that Lord Vishnu strikes balances in the chaos by using various “instincts” that might actually oppose each other.

But the second symbolism is more important. Vishnu does not travel on Snake but instead rests on it. Snake’s incarnation like Balrama or Laxmana are with him as his brothers. But at the same time Snake protects Vishnu. Snake is not an attack vehicle. Snakes by nature are short sighted and very very instinctive. just like Balrama, snakes can be angered easily and rely more on action rather than strategy. Vishnu’s snake represents Vishnu’s ability to plan for short term.

Garuda is Vishnu’s attack vehicle. Garuda is a far sighted animal. In-fact Garuda’s speciality is his sight. Garuda represent’s Vishnu’s ability to plan for distant future, to look at bigger picture. Garuda is also an intelligent animal which represents how well Vishnu can think.