For the nuts-and-bolts of what you have to do to apply for graduate school, do a google search on the name of the school you’re interested in attending, the name of the department there and the word “admissions”. It should bring you to a page that details what the expected background is for students who apply to their program, important dates and what paperwork is required.
It’s a pain in the butt filling out everything, but quite a bit of what you do is reusable for other applications – and eventually grants and scholarships – that it’s worthwhile doing it as well as you possibly can the first time.
The part that take the longest, at least it did for me when I was applying for my Masters then my PhD, was getting the letters of recommendation. Faculty expect to be given LOADS of time to write these. If you request them the weekend before your application is due, they will be very annoyed. I would try to request them at least 2 months before you’ll be submitting your application. Obviously you want to get letters from faculty who will say good things about you. It’s not unreasonable to ask people if they’re willing to write you a “good letter of recommendation”. Hopefully they will demure if they have reservations about you. You definitely want academic references (professors). In a PINCH 1 of your 3 recommendations could come from a non-academic reference – but it’s really best if they’re all from professors who have worked with you (or at least taught you).
Don’t be afraid to request a letter of recommendation. Writing these is part of the job of being a professor.
Obviously you don’t want spelling or grammatical mistakes in your application. This should probably be one of the most carefully checked documents you produce in your life. Get multiple people, ideally some students / faculty currently working in the area you want to study, to look over your documents and make suggestions. If the language of instruction at the institution isn’t your native language, make sure a native speaker has gone over your documents carefully.
Once your application is submitted, it is provided to faculty – either through an online system or in old-timey binders – which they can look through if they want to take on a new student. If they like the looks of a student, an offer will be made to that student, and they may be accepted to the program. If none of the faculty like the looks of you, you’ll be rejected.
The dates should be thought of as a “final deadline”, and it’s WELL worth getting your application in early. Faculty will start looking at applications as soon as they’re available, it would be a shame if a faculty member would have accepted you, but they took someone else before they saw your application.
The criteria that faculty use to select a student is varied. Some just care about marks, assuming they’re a proxy for intelligence, and will take applicants with a high GPA or GRE score. Some are interested in research directions and will ignore marks and just read your proposed project. Some will only consider students they’ve had in a class or previously supervised (some faculty don’t like to take on PhD candidates whom they haven’t worked with before). Others will only take a student who has a letter of recommendation from someone they know. You never know what criteria is being used to make the selection.
Because of this subjective nature, you shouldn’t be too broken hearted if you get rejected. Sometimes this just means that a faculty valued something you were weaker at. Sometimes it just means there wasn’t a good overlap between your research interests and those of faculty members that were taking on new students. Because of this uncertainty, you DEFINITELY want apply to more than one school. On the other hand, you don’t want to apply everywhere. Applying costs money, and it is a bit of a waste to pay the fee for far more places than you intend to attend. Also, you’re better off putting your time into strengthening a small number of applications instead of spamming out dozens. I would suggest applying to 3-5 schools.