虽然 (suīrán) means "although" and 但是 (dànshì) means "but". In Chinese they normally work as a pair: 虽然 introduces a fact, and 但是 introduces something you might not expect because of it.
虽然 + fact, 但是 + unexpected result.
In English you say either "although" or "but", never both in one sentence. In Chinese, using both is normal and natural: 虽然 starts the first part of the sentence, and 但是 starts the second part.
虽然 can come before or after the subject of the first part: 虽然他很忙 and 他虽然很忙 are both correct. When both parts are about the same person, you don't need to say the subject again after 但是.
但是 is different: it always comes at the very start of the second part, before the subject. Negatives with 不 and 没有 work as usual inside each part.
但是 can be used without 虽然, just like "but" in English. 虽然, on the other hand, is rarely left on its own: the second part normally has 但是, 还是 or both.
还是 here means "still" or "anyway". It goes after the subject of the second part, before the verb.
The most common mistake is to put 但是 after the subject, as in 虽然他很忙,他但是每天都来. 但是 must come first: 虽然他很忙,但是他每天都来.
Another mistake is mixing up the two pairs 虽然……但是 (although… but) and 因为……所以 (because… so). 虽然 goes with 但是, and 因为 goes with 所以. 虽然……所以 and 因为……但是 are both wrong.
Practise this grammar point on paper: 18 exercises using only HSK 2 words, with an answer key on a separate page. Free to print and copy for your class.
Every example on this page uses only words up to HSK 2. Paste your own sentences into the level checker to see which words, if any, are above your level.