Both 想 (xiǎng) and 要 (yào) can mean "want", and both go straight before the verb. 想 is softer, like "would like to" or "feel like". 要 is firmer: you have decided, you need to, or it is going to happen.
Subject + 想 + verb (+ object).
想 is for wishes and plans you are thinking about, like "would like to" or "feel like" in English. It is a polite, gentle way to say what you want. You can make it stronger with 很: 我很想去 means "I really want to go".
Subject + 要 + verb (+ object).
要 sounds more decided than 想. Depending on the context it can mean "want to", "have to" or "am going to". 我要工作 can be "I have to work" or "I'll be working": either way, it is happening. Unlike 想, 要 does not take 很 in this meaning.
Put 要 before the verb and 了 at the end to say something is going to happen very soon. This is not about wanting at all, so it works for the weather and for things nobody chooses.
To ask for a thing, such as food in a restaurant or something in a shop, use 要 + noun, or the softer 想要 + noun.
This is where the most common learner mistake happens. 想 + a person or place means "miss": 我想妈妈了 is "I miss Mum". So 我想米饭 does not mean "I'd like rice"; say 我要米饭 or 我想要米饭 instead. 想 can also mean "think", as in 我想他今天不来了.
To say you don't want to do something, use 不想 + verb: 我不想去. Be careful with 不要 + verb: it usually means "don't!", telling someone not to do something. With a noun, 我不要 is fine and simply means "I don't want it".
Ask with 吗 at the end, or with the verb-not-verb pattern: 你想不想……? and 你要不要……? 你要不要 is a very common way to offer something.
Practise this grammar point on paper: 20 exercises using only HSK 1 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 1. Paste your own sentences into the level checker to see which words, if any, are above your level.