Login Flow
The general order of packets used to log in is usually:
C->SHandshakeS->CHandshakeC->SLoginS->CLoginS->CSpawn PointS->CTimeS->CHealthS->CWindow Items
This is followed by a bunch of Pre-Chunk packets to load the chunks, and Chunk packets which contain the actual chunk data.
Minimal Login
The bare minimum to join a Server with a vanilla client is:
C->SHandshakeS->CHandshakeC->SLoginS->CLoginS->CPlayer Position and Look
A vanilla client will become responsive upon receiving the player's initial starting position and rotation from the server. After this, the client will continuously send Position and Look packets.