There are several approaches/tricks you can use to figure out chord progressions by ear...
Your ear can most easily discern the highest and lowest notes in a chord. ( it's considerably more difficult to pick out the interior notes in a chord ) If your ear is already decent, try the following method: try and isolate the bass notes of each chord in the progression – often times when you find a bass note that “works” ( meaning that it sounds good played over the chord ) but proves to be incorrect, that note is a different chord tone, usually the 3rd or 5th )
Music theory knowledge is a big aid in this process in multiple ways. A jumping off point is knowing the diatonic chords in major and minor keys. Probabilistically thinking, the simpler/more conventional a song is, the more likely it is to contain diatonic chords. In other words, a powerful tool for figuring out chord progressions is a process of elimination.
When you find a bass note that works then plug in the chord quality of the scale degree of that bass note, if the chord sounds incorrect the bass note might be a chord tone of a different chord. For ex) If the first chord in a progression is F and the second bass note is G but when you play a Gm chord it sounds wrong, ask yourself “what chord has G as a 3rd, and 5th , one of those may be the actual root. In this case G is the 3rd of E flat or the flat of Em or the 5th of C.
The melody note ( highest note of a chord ), if discerned can guide you to correct chord often too. If you identify a melody note, first check if it's a chord tone. For ex) if you identify an A note, it might be the root or an A or the 3rd of an F or the flat 3rd of the 5th of a D.
Watch this space, as my next blog will expound on this concept...