To free up space from the pacman cache, use the paccache package. It used to be included by default, but is now included in the pacman-contrib package:
Using the -r option will by default delete all but the last 3 most recent versions of previously cached packages:
Use k to specify how many most recent versions to keep, for example to keep only the most recently cached version:
Further, use the u option to target only uninstalled packages in the cache. For example, to delete all cached copies of all uninstalled packages:
You could use -rk0 to delete all cached copies of all uninstalled and installed packages, but this is advised against in case you want to downgrade or re-install without downloading. However it may be helpful if all other attempts to free up disk space have not been sufficient.