Captain America actor Chris Evans has been named at the top of Forbes’ Best Actor for the Buck list for the second consecutive year, in a list dominated by stars of the Marvel universe.

The 35 year old American actor, who has played the patriotic supersoldier Captain America / Steve Rogers five times since 2011, was found to represent the best value for money in Hollywood when it comes to the bottom line. For every dollar he was paid, he generated a whopping $135.80 at the box office.

This is calculated by Forbes analysing the last three movies an actor has starred in before June 2016, excluding cameos, animated films and movies released on fewer than 2,000 screens.

Chris EvansChris Evans at the premiere of 'Captain America: Civil War' in April 2016

Thanks to massive blockbusters like Captain America: Civil War, which was released in early May, Evans was able to finish top of the pile for a second year in a row.

Behind him in the list were two other members of the Marvel universe: Chris Pratt, of Jurassic World and Guardians of the Galaxy, generated $125.40 for every dollar; and Scarlett Johannson, who starred in Lucy in 2015 in addition to the Marvel flicks, who generated $88.60 and was the best paid actress on the list.

More: Johnny Depp named Hollywood’s most overpaid actor for the second year in a row

She was followed by Mila Kunis, who starred in Bad Moms, who paid out $49.50 per every dollar she was paid, and Vin Diesel, whose performance in Furious 7 over a year ago puts his figures at $32 for every dollar.

Forbes’ list comes just a week after the publication of its polar opposite list, the Most Overpaid Actor, which was headed by Johnny Depp for the second year in a row. The 53 year old’s last three movies have generated just $2.80 at the box office for every dollar – nearly 49 times less value for money for studios than Evans.

More: ‘Captain America: Civil War’ gets hugely positive reviews