You can add singleton dimensions and just multiply them, e.g. t1[:, None, :] * t2[:, :, None] will give you a batch x 3 x 2 tensor if that is what you want.
If you have reduction axes mixed in, you could look at einsum.