I think regular multiplication does what you want. It's vectorized, so it multiplies pairs of elements along vectors.
Example:
set.seed(21)
m1 <- matrix(rpois(12, 5), nrow = 3)
m2 <- matrix(rpois(12, 5), nrow = 3)
m3 <- matrix(rpois(12, 5), nrow = 3)
m1
# [,1] [,2] [,3] [,4]
# [1,] 7 3 2 7
# [2,] 3 9 3 6
# [3,] 6 8 10 9
m2
# [,1] [,2] [,3] [,4]
# [1,] 2 1 5 5
# [2,] 6 5 6 7
# [3,] 3 4 1 8
m3
# [,1] [,2] [,3] [,4]
# [1,] 4 7 9 7
# [2,] 7 6 5 8
# [3,] 5 6 6 3
m_combined <- m1 * m2 * m3
m_combined
# [,1] [,2] [,3] [,4]
# [1,] 56 21 90 245
# [2,] 126 270 90 336
# [3,] 90 192 60 216
So m_combined[1, 1] is equal to m1[1, 1] * m2[1, 1] * m3[1, 1], and m_combined[2, 1] is equal to m1[2, 1] * m2[2, 1] * m3[2, 1], and so on.