When you attack another player without many units, make sure you have siege units (2-3) that can attack from 2 range away from the city (for instance from a hill), while there is plenty of space for 2-3 melee units to stand in front and surround the city.
If the other player has many defending units, or the terrain does not allow you to place 2-3 siege units together with 2-3 melee units, then the 'brute force' method is probably going to fail, unless you have a high tech advantage.
However, there is a situational trick that works Very well when attacking:
- Creating Citadel using Great General.
This obviously only works when you have a border conflict, but when you do, it will net you a higher chance to push back the enemy defenders, further allowing you to push your 2-3 siege and 2-3 melee units into range.
Remember to buy territory as close to your opponent as possible, to create the citadel at the best location.
Note, that when creating a citadel, you do not have to put in your own territory, but ADJACENT to your own territory, for instance inside your opponent's territory
For more info on the glorious citadel, see here:
http://civilization.wikia.com/wiki/Citadel_(Civ5)