1. By winning ranked (multiplayer) games
The game has to be ranked. You don't earn points if it is a practice game. Check the game setting. It will tell you whether the game is ranked or practice.
You must win. You don't earn any points if you lose.
Apply to free-for-all games too. Only the winner earns points. You get no points even if you are the second last one to survive.
2. Get achievements
This player obtained 97% of achievements. You can see what achievements you may obtain by viewing their profile: https://www.warlight.net/Achievements?p=746663961
When you win, the number of points you are awarded is based off of a number of factors:
The number of players who didn't win the game. Winning a 3-player FFA gives (on average) twice as many points as a 1v1, since there were two losers as opposed to one. Likewise, winning a 20 player FFA gives 19 times as many points as a 1v1.
The levels of the players who didn't win the game. Defeating a player who is equal level to you gives a base of 5,000 points. Defeating a player who is 10 or more levels above you gives a base of 10,000 points. Defeating a player who is lower level than you gives fewer than 5,000 points, depending on their level.
If the winning player is over level 8, their points are also affected by how recently they've defeated this player before. Defeating the same player twice in a 10-day period reduces the points earned from that player by 50%. Defeating the same player three or more times in a 10-day period reduces the points earned from that player by 80%.
In team games, the team essentially splits the points earned from the defeated players. However, team members can also receive different amounts of points due to the above rules (if the team members are different levels or have defeated some of the opponents recently.)
Tournament games award 50% more points. Ladder games award double points. Real-time games award half as many points as multi-day games.