Both tenir and garder mean “to keep”, so when do you use one over the other. Well, tenir is used more for a physical action, such as keeping hold of something, while garder is used when you mean to retain possessions or attitudes. Naturally, there is some cross over with these words and cases where either could be used.
Je garde le riz dans la boîte – I keep the rice in the box.
Ils gardent le silence – They keep silent.
Elle a gardé ses lettres – She kept his letters
Je tiens les yeux fermés – I am keeping my eyes closed.
Vous devez tenir votre chien en laisse – You must keep your dog on the lead.
Il tient le thé au chaud* – He is keeping the tea warm.
* My dictionary says that tenir is used to mean “maintain”, however it seems that garder may also be used in this case. A quick Google search shows that “Il tient … au chaud” has over 22 million results and “Il garde … au chaud” has around 700,000.